API Jooble
by Lucaskazama
HTML
<h2>Empregos Próximos a Você</h2>
<button onclick="getUserLocationAndFetchJobs()">Buscar Empregos</button>
<ul id="jobs-list"></ul>
JavaScript
// Substitua "SUA_CHAVE_DE_API" pela chave da API Jooble
const JOOBLE_API_KEY = "16833310-f04e-4f04-970b-eff54e0cfefc";
const JOOBLE_API_URL = "https://br.jooble.org/api/";
// Função para obter a localização do usuário e buscar o estado
function getUserLocationAndFetchJobs() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
// Chama a função para converter latitude/longitude em um estado
getStateFromCoordinates(latitude, longitude);
}, function(error) {
console.error("Erro ao obter localização:", error);
// Se não conseguir obter a geolocalização, utilize um valor padrão
fetchJobs("Sao Paulo");
});
} else {
console.log("Geolocalização não é suportada neste navegador.");
// Se geolocalização não for suportada, utilize um valor padrão
fetchJobs("Sao Paulo");
}
}
// Função para obter o estado a partir das coordenadas
function getStateFromCoordinates(latitude, longitude) {
const geocodeAPIKey = "77f12372a44349299fdf0519b221f83f"; // Substitua com a chave da sua API de geocodificação (Google Maps, OpenCage, etc.)
const geocodeAPIUrl = `https://api.opencagedata.com/geocode/v1/json?q=${latitude}+${longitude}&key=${geocodeAPIKey}`;
fetch(geocodeAPIUrl)
.then(response => response.json())
.then(data => {
if (data.results && data.results.length > 0) {
const state = data.results[0].components.state; // Obtém o nome do estado
fetchJobs(state); // Chama a função para buscar empregos no estado obtido
} else {
console.error("Estado não encontrado.");
fetchJobs("Sao Paulo"); // Caso não encontre o estado, use Fortaleza
}
})
.catch(error => {
...