JSearch Json
by Lucaskazama
HTML
<h1>Empregos Próximos de Você</h1>
<button onclick="getLocation()">Buscar Empregos Próximos</button>
<ul id="job-list">
<!-- As vagas serão listadas aqui -->
</ul>
CSS
body {
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
background-color: #f4f4f9;
}
h1 {
color: #333;
}
button {
padding: 10px 20px;
background-color: #5c67f2;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
button:hover {
background-color: #4a55c9;
}
#job-list {
list-style: none;
padding: 0;
width: 100%;
max-width: 600px;
}
#job-list li {
background: #fff;
padding: 15px;
margin: 10px 0;
border-radius: 5px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
}
JavaScript
// Função para obter a localização do usuário e buscar empregos remotos com base na API JSearch
function getLocation() {
// Exemplo: Obter a localização do usuário
if (navigator.geolocation) {
console.log("Obtendo a localização do usuário...");
navigator.geolocation.getCurrentPosition(async position => {
const userLatitude = position.coords.latitude;
const userLongitude = position.coords.longitude;
console.log("Latitude:", userLatitude, "Longitude:", userLongitude);
// Obter a localização reversa e buscar empregos
const location = await getCityStateCountry(userLatitude, userLongitude);
fetchRemoteJobs(location); // Buscar empregos remotos com a API JSearch
}, error => {
alert("Não foi possível obter sua localização. Por favor, ative o GPS.");
console.error("Erro de geolocalização:", error);
});
} else {
alert("Geolocalização não é suportada pelo navegador.");
console.error("Geolocalização não suportada.");
}
}
// Função para obter cidade, estado e país a partir de latitude e longitude
async function getCityStateCountry(latitude, longitude) {
try {
const response = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${latitude}&lon=${longitude}&format=json`);
const data = await response.json();
const city = data.address.city || data.address.town || data.address.village || "local";
const state = data.address.state || "desconhecido";
const country = data.address.country || "desconhecido";
console.log(`Localização obtida: ${city}, ${state}, ${country}`);
return { city, state, country };
} catch (error) {
console.error("Erro ao obter dados de localização reversa:", error);
return { city: "local", state: "", country: "" }; // Valores padrão em caso de erro
}
}
// Função para buscar empregos remotos usando a API...