如何将 Google map 地址查找服务限制为特定邮政编码或城市/城镇的街道名称。它目前为我提供了英国的所有地址,但我想将其限制为仅英国伯明翰的地址(B 邮政编码)。
到目前为止的代码
JS
$(document).ready(function () {
addressLookup();
});
function addressLookup() {
var options = {
componentRestrictions: {
country: 'uk'
}
};
var address = document.getElementsByClassName('form-control booking address');
for(var i=0; i< address.length; i++){
new google.maps.places.Autocomplete(address[i], options);
}
//new google.maps.places.Autocomplete(address, options);
}
HTML
<input type="text" class="form-control booking address" id="pickup" placeholder="From">
<input type="text" class="form-control booking address" id="destination" placeholder="To">
最佳答案
例如,如果伯明翰邮政编码的定义以 B 开头,并且我假设您要循环的 address
数组中的每个值都是一个邮政编码(是吗?):
function isBirmingham(postcode) {
return postcode.substr(0, 1) === 'B';
}
function addressLookup() {
var options = {
componentRestrictions: {
country: 'uk'
}
};
var address = document.getElementsByClassName('form-control booking address');
for (var i = 0; i < address.length; i++) {
if (isBirmingham(address[i])) {
new google.maps.places.Autocomplete(address[i], options);
}
}
}
更新:
在自动完成选项中设置 componentRestrictions
怎么样?请参阅https://developers.google.com/maps/documentation/javascript/reference#AutocompleteOptions - 文档仅提到您可以指定一个国家/地区。然而this article演示如何使用邮政编码。
关于javascript - 将 Google map 地址查找限制为特定邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28722868/