我正在使用谷歌地方搜索,我想在海湾合作委员会国家(阿联酋,沙特阿拉伯,阿曼,科威特和巴林)“地点偏向”。
我想实现以下目标 https://developers.google.com/maps/documentation/places/autocomplete#location_biasing
我想在文本框中提供Google商家信息搜索,用户只能看到来自这些国家/地区的结果阿联酋,沙特阿拉伯,阿曼,科威特及其他国家/地区。巴林?
谢谢,
我可以使用“componentRestrictions”参数在一个国家/地区使用“位置偏差”,如下面的代码段所示
var mapOptions = {
//bounds : defaultBounds,
center: new google.maps.LatLng(25.2644444, 55.31166669999993),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
var input = document.getElementById('searchTextField');
var InputOptions = {
types: ['(cities)'],
**componentRestrictions: { country: 'AE' } // I want multiple counteries here**
};
var autocomplete = new google.maps.places.Autocomplete(input, InputOptions);
但我想在上面提到的多个反击中使用位置偏差。
答案 0 :(得分:2)
截至2017年1月,您现在可以在“地点自动填充”中为多个国家/地区创建过滤器。
现在,您可以将自动填充预测限制为仅覆盖多个国家/地区。您可以通过在AutocompleteOptions的componentRestrictions字段中指定最多5个国家/地区来执行此操作。
https://developers.google.com/maps/documentation/javascript/releases
https://developers.google.com/maps/documentation/javascript/3.exp/reference#ComponentRestrictions
答案 1 :(得分:1)
你到底想做什么?
如果我找对你,你只想对其中一个国家(阿联酋,沙特阿拉伯,阿曼,科威特和巴林)进行地理编码?
function geocodeAddress() {
var address = "Oman";
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
position: results[0].geometry.location // gives you the location
});
} else {
alert("Error: " + status);
}
});
}
答案 2 :(得分:1)
我认为这是不可能的(目前)。将结果限制为一个国家/地区仅在几周前添加为功能。您最好的选择是按地图边界限制结果,如Places Library website中的示例所示:
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-33.8902, 151.1759),
new google.maps.LatLng(-33.8474, 151.2631));
var input = document.getElementById('searchTextField');
var options = {
bounds: defaultBounds,
types: ['establishment']
};
autocomplete = new google.maps.places.Autocomplete(input, options);
找到最适合您所需区域的界限。