【发布时间】:2018-04-01 01:51:23
【问题描述】:
帮助!我是编码新手,我刚刚接受了 Free Code Camp 的挑战,我需要创建一个使用反向地理编码显示当地天气的网站。我希望页面显示用户所在的城市和州。现在我有经度和纬度,但我不知道如何将其变成城市和州。这是我目前所拥有的。
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
$("#city").html("latitude: " + lat +"<br>longitude: " + long);
});
};
我还在另一个 Stack Overflow 问题上找到了这个答案,但我不确定如何将其结合起来让城市和州自动出现。
var geocoder = new google.maps.Geocoder(),
latitude = 28.54, //sub in your latitude
longitude = -81.39, //sub in your longitude
postal_code,
city,
state;
geocoder.geocode({ location: { lat: latitude, lng: longitude } }, function(
results,
status
) {
if (status === google.maps.GeocoderStatus.OK) {
results.forEach(function(element) {
element.address_components.forEach(function(element2) {
element2.types.forEach(function(element3) {
switch (element3) {
case "postal_code":
postal_code = element2.long_name;
break;
case "administrative_area_level_1":
state = element2.long_name;
break;
case "locality":
city = element2.long_name;
break;
}
});
});
});
}
});
【问题讨论】:
-
您使用什么 API 来获取天气数据?他们可能会返回包含城市和州的 JSON。
-
谷歌地图 API
-
您正在从 Google 地图获取天气数据?
-
我试图使用 Google Maps API 来获取城市和州。我今天实际上做了很多工作。我使用了来自 Free Code Camp (fcc-weather-api.glitch.me/api/current?lat=' + latitude + '&lon=' + longitude) 的这个 API,它有天气信息以及城市和国家(不是州),所以我要继续使用它。
标签: javascript reverse-geocoding geocode weather-api