如何通过谷歌api获取一个县的邮政编码

时间:2018-02-13 13:40:57

标签: javascript api google-maps autocomplete google-api

我正在尝试创建一个自动填充文本字段,该字段只应在下拉列表中提供邮政编码。这是我遵循的文件:
google place autocomplete

我如何只获得英国的所有邮政编码。

 src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"

src="https://maps.googleapis.com/maps/api/js?key=your_api_key&libraries=places&sensor=false&callback=initialize"


function initialize() {
    $('#adv_postcode').each(function () {
        initialize2(this);
    });
}
function initialize2(elementID) {
    var options = {
        componentRestrictions: {
            country: 'uk'
        }
    };
    var autocomplete_element = new google.maps.places.Autocomplete(elementID, options);
    autocomplete_element.addListener('place_changed', function () {
        elementID.value = fillInAddress(autocomplete_element);
    });
}
 <input type="text" name="adv_postcode" id="adv_postcode" class="addressfields"/>

任何帮助高度赞赏

1 个答案:

答案 0 :(得分:0)

目前,您拥有的最佳选择是将autocomplete optionstypes参数设置为(regions)。根据文件

  

(地区)类型集合指示Places服务返回与以下类型匹配的任何结果:

     
      
  • 局部性
  •   
  • sublocality
  •   
  • POSTAL_CODE
  •   
  • 国家
  •   
  • administrative_area_level_1
  •   
  • administrative_area_level_2
  •   

来源:https://developers.google.com/places/supported_types#table3

不理想,但您只会在建议列表中找到区域。所以你的代码应该是

var options = {
    componentRestrictions: {
        country: 'uk'
    },
    types: ['(regions)']
};
var autocomplete_element = new google.maps.places.Autocomplete(elementID, options);
autocomplete_element.addListener('place_changed', function () {
    elementID.value = fillInAddress(autocomplete_element);
});

另请注意,Google问题跟踪器中有一项功能请求可使types参数更灵活:

https://issuetracker.google.com/issues/35820774

随意加注此功能请求以表达您的兴趣并订阅通知。