js 로 현재 우리의 위치를 가져올 수 있다.
// weather.js
function onGeoOk(position) {
const lat = position.coords.latitude;
const lng = position.coords.longitude;
console.log(`you live in ${lat}, ${lng}`)
}
function onGeoError() {
alert("Can't find you. No weather for you.")
}
navigator.geolocation.getCurrentPosition(onGeoOk, onGeoError)
onGeoOk()
weather API 를 사용한다. <https://openweathermap.org/>
const API_KEY = "9eec9bf79afb8594052b23e047e12d8a";
function onGeoOk(position) {
const lat = position.coords.latitude;
const lng = position.coords.longitude;
console.log("you live in", lat, lng)
const url = `https://api.openweathermap.org/data/2.5/weather?lat=${lat}&lon=${lng}&appid=${API_KEY}`;
// JS 가 대신 url 을 불러준다.
fetch(url)
.then(response => response.json())
.then(data => {
const weather = document.querySelector("#weather span:first-child");
const city = document.querySelector("#weather span:last-child");
city.innerText = data.name;
weather.innerText = data.weather[0].main;
});
}
function onGeoError() {
alert("Can't find you. No weather for you.")
}
navigator.geolocation.getCurrentPosition(onGeoOk, onGeoError)