如何从谷歌地图API返回的结果数组中提取城市名称


<script type="text/javascript">
 var GOOGLE_API_KEY = "mykey";
 var lat, lng;
 var geocoder;
 var geoCodingUrl;
 if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
 }
 function successFunction(position) {
   var lat = position.coords.latitude;
   var lng = position.coords.longitude;
   var geoCodingUrl = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lng + "&key=" + GOOGLE_API_KEY;
console.log(geoCodingUrl); 
   var address = result.address_components[4].longname;
   if (address == "Mumbai, India") {
     window.location = "url";
   } 
   if(address == "Bangalore, India"){
     window.location = "url";
   } 
   if(address == "Jaipur, India") {
     window.location = "url";
   }
   else{
     window.location = "url";
   }
  }
 function errorFunction() {
 alert ("Geocoder failed");
}
</script>  

根据Google Maps API文档,geoCodingUrl应该返回一个JSON数组。如何从该数组中检索城市名称?控制台给出一个错误,指出找不到结果变量,如何引用返回的数组?

假设你在这里使用 jquery 是代码

function successFunction(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var geoCodingUrl = "https://maps.googleapis.com/maps/api/geocode/json? latlng=" + lat + "," + lng + "&key=" + GOOGLE_API_KEY;
$.ajax({
    url:geoCodingUrl,
    method:"GET",
    success:function(res){
     var result=res.results;
     var address = result[0].address_components[4].longname;
     if (address == "Mumbai, India") {
       window.location = "url";
     } 
     if(address == "Bangalore, India"){
       window.location = "url";
     } 
    if(address == "Jaipur, India") {
     window.location = "url";
    }
    else{
     window.location = "url";
     }
   }
})
}

最新更新