Javascript 如何从谷歌地图API返回的结果数组中提取城市名称? var GOOGLE_API_KEY=“mykey”; var lat,液化天然气; var地理编码器; 变量geoCodingUrl; if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(successFunction,errorFunction); } 功能成功功能(位置){ var lat=位置坐标纬度; var lng=位置坐标经度; 变量geoCodingUrl=”https://maps.googleapis.com/maps/api/geocode/json?latlng=“+lat+”、“+lng+”&key=“+GOOGLE\u API\u key; 控制台日志(geoCodingUrl); var address=result.address\u components[4].longname; 如果(地址=“印度孟买”){ window.location=“url”; } if(地址=“印度班加罗尔”){ window.location=“url”; } 如果(地址=“印度斋浦尔”){ window.location=“url”; } 否则{ window.location=“url”; } } 函数errorFunction(){ 警报(“地理编码器失败”); }

Javascript 如何从谷歌地图API返回的结果数组中提取城市名称? var GOOGLE_API_KEY=“mykey”; var lat,液化天然气; var地理编码器; 变量geoCodingUrl; if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(successFunction,errorFunction); } 功能成功功能(位置){ var lat=位置坐标纬度; var lng=位置坐标经度; 变量geoCodingUrl=”https://maps.googleapis.com/maps/api/geocode/json?latlng=“+lat+”、“+lng+”&key=“+GOOGLE\u API\u key; 控制台日志(geoCodingUrl); var address=result.address\u components[4].longname; 如果(地址=“印度孟买”){ window.location=“url”; } if(地址=“印度班加罗尔”){ window.location=“url”; } 如果(地址=“印度斋浦尔”){ window.location=“url”; } 否则{ window.location=“url”; } } 函数errorFunction(){ 警报(“地理编码器失败”); },javascript,json,google-maps,Javascript,Json,Google Maps,根据GoogleMapsAPI文档,geoCodingUrl应该返回一个JSON数组。如何从该数组中检索城市名称?控制台给出了一个错误,表示找不到结果变量,如何引用返回的数组 假设我们使用jquery,下面是代码 <script type="text/javascript"> var GOOGLE_API_KEY = "mykey"; var lat, lng; var geocoder; var geoCodingUrl; if (navigator.geolocatio

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

假设我们使用jquery,下面是代码

<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>  

尝试结果[0]。地址\组件[4]。longname…。但在此之前,您在哪里定义结果变量?我确实尝试过,但得到了相同的错误。显然,我没有定义它,results是url返回的数组的名称。如果没有从geocode api中正确获取结果,请尝试使用ajax执行url的get请求,并正确使用结果……这会起作用的
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";
     }
   }
})
}