遵循发现的指南https://developers.google.com/maps/documentation/javascript/places-autocomplete#places_searchbox,我正在尝试过滤搜索框以仅显示针对英国的建议。
我有代码:
<script src="https://maps.googleapis.com/maps/api/js?key=XXXXXXX&libraries=places&callback=initialize&v=3"
async defer></script>
<script>
function initialize() {
setTimeout(function() {
initMap();
initAutocomplete();
}, 4000);
}
function initAutocomplete() {
var options = {
types: [],
componentRestrictions: {country: 'GB' }
};
var input = document.getElementById('pac-input');
var searchBox = new google.maps.places.SearchBox(input, options);
}
</script>
这可以使搜索框初始化并可用,但它不仅会过滤到英国位置。该框将显示世界各地的位置建议。
使用GB或gb可获得相同的结果
答案 0 :(得分:4)
最后切换到
function initAutocomplete() {
var input = document.getElementById('pac-input');
var options = {
types: ['(cities)'],
componentRestrictions: {country: 'GB'}
};
var autocomplete = new google.maps.places.Autocomplete(input, options);
}
解决了我的问题
答案 1 :(得分:0)
尝试将国家小写:
[![one Post][3]][3]
答案 2 :(得分:0)
也许尝试setComponentRestrictions
方法。
var options = {
types: []
};
var input = document.getElementById('pac-input');
var searchBox = new google.maps.places.SearchBox(input, options);
// This method.
searchBox.setComponentRestrictions({'country': ['gb']});