Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps api 3 城市';s使用Google Places autocomplete API选择的城市的名称或id_Google Maps Api 3_Google Places Api - Fatal编程技术网

Google maps api 3 城市';s使用Google Places autocomplete API选择的城市的名称或id

Google maps api 3 城市';s使用Google Places autocomplete API选择的城市的名称或id,google-maps-api-3,google-places-api,Google Maps Api 3,Google Places Api,我想使用Google Places autocomplete API通过文本搜索来搜索位置。是否可以使用places autocomplete API在“自动完成”框中获取所选城市的城市名称或城市ID?您可以通过autocompleteInstance.getPlace()访问当前地点的地址组件 types-属性(它是一个数组)包含值political和locality的组件通常是城市 例如: google.maps.event.addListener(autocomplete, 'place_

我想使用Google Places autocomplete API通过文本搜索来搜索位置。是否可以使用places autocomplete API在“自动完成”框中获取所选城市的城市名称或城市ID?

您可以通过
autocompleteInstance.getPlace()访问当前地点的
地址组件

types
-属性(它是一个数组)包含值
political
locality
的组件通常是城市

例如:

google.maps.event.addListener(autocomplete, 'place_changed', function() {
  var components=this.getPlace().address_components,city='n/a';
      if(components){
        for(var c=0;c<components.length;++c){
        console.log(components[c].types.join('|'))
          if(components[c].types.indexOf('locality')>-1
              &&
             components[c].types.indexOf('political')>-1
            ){
            city=components[c].long_name;
            break;
          }
        }
      }
    alert(city)
  });
google.maps.event.addListener(自动完成,'place\u changed',function(){
var components=this.getPlace().address_components,city='n/a';
if(组件){
对于(var c=0;c-1
&&
组件[c].types.indexOf('political')>-1
){
城市=组件[c]。长名称;
打破
}
}
}
警报(城市)
});

您可以通过
autocompleteInstance.getPlace()

types
-属性(它是一个数组)包含值
political
locality
的组件通常是城市

例如:

google.maps.event.addListener(autocomplete, 'place_changed', function() {
  var components=this.getPlace().address_components,city='n/a';
      if(components){
        for(var c=0;c<components.length;++c){
        console.log(components[c].types.join('|'))
          if(components[c].types.indexOf('locality')>-1
              &&
             components[c].types.indexOf('political')>-1
            ){
            city=components[c].long_name;
            break;
          }
        }
      }
    alert(city)
  });
google.maps.event.addListener(自动完成,'place\u changed',function(){
var components=this.getPlace().address_components,city='n/a';
if(组件){
对于(var c=0;c-1
&&
组件[c].types.indexOf('political')>-1
){
城市=组件[c]。长名称;
打破
}
}
}
警报(城市)
});

我正在这个JSFIDLE页面[]上进行实验。请将脚本添加到此页面以显示结果,好吗?我试过了,但是你的脚本附加后就不起作用了。谢谢,但是虽然这现在起作用了,但对于几乎30-40%的情况,我看到n/a。虽然完整的地址中有城市名称。如何处理这些情况?您可以对位置进行地理编码(使用
getPlace().geometry.location
)以获得更精确的结果我正在这个JSFIDLE页面[]上进行实验。请将脚本添加到此页面以显示结果,好吗?我试过了,但是你的脚本附加后就不起作用了。谢谢,但是虽然这现在起作用了,但对于几乎30-40%的情况,我看到n/a。虽然完整的地址中有城市名称。如何处理这些情况?您可以对位置进行地理编码(使用
getPlace().geometry.location
)以获得更精确的结果