【问题标题】:City's name or id of the chosen city using Google Places autocomplete API使用 Google Places 自动完成 API 的所选城市的城市名称或 ID
【发布时间】:2013-10-06 01:00:51
【问题描述】:

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

【问题讨论】:

    标签: google-maps-api-3 google-places-api


    【解决方案1】:

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

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

    例子:

    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)
      });
    

    【讨论】:

    • 我正在这个 jsfiddle 页面上做实验[jsfiddle.net/qA29J]。您能否将您的脚本添加到此页面以显示结果?我试过了,但它不适用于附加的脚本。
    • 谢谢,但尽管现在可以正常工作,但对于几乎 30-40% 的情况,我看到 n/a。尽管完整地址中有城市名称。如何处理这些情况?
    • 您可以对位置进行地理编码(使用getPlace().geometry.location)以获得更精确的结果
    猜你喜欢
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 2018-06-04
    • 2015-03-26
    • 2018-12-08
    • 2018-06-02
    相关资源
    最近更新 更多