我正在尝试创建一个自动填充文本字段,该字段只应在下拉列表中提供邮政编码。这是我遵循的文件:
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"/>
任何帮助高度赞赏
答案 0 :(得分:0)
目前,您拥有的最佳选择是将autocomplete options的types
参数设置为(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
随意加注此功能请求以表达您的兴趣并订阅通知。