我的新项目需要从Google地图获取地址信息,但是我们的服务只能从堪培拉的所有酒店接送。
我的问题是我如何限制自动完成仅选择堪培拉的酒店。
这是我的代码:
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-35.3345571, 149.0334956, 15),
new google.maps.LatLng(-35.1910655, 149.1817188, 12));
var options = {
bounds: defaultBounds,
types: ['establishment'],
keyword:'hotel',
componentRestrictions: {
country: 'au'
}
};
var input = document.getElementById('dropoff_address2Fromgoogle');
var autocomplete = new google.maps.places.Autocomplete(input,options);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var place = autocomplete.getPlace();
document.getElementById('dropoff_address2Fromgoogle').value = place.name
+ ", " + place.formatted_address
+ ", " + place.address_components[5].short_name;
});
我使用边界来定义堪培拉中的区域,但搜索结果仍会返回其他区域,而Type过滤器只有设置似乎并没有返回更多结果。
最佳答案
这是sample code,用于搜索所选城市中的酒店。
基本上,示例代码分两个阶段调用Google Maps API:一个阶段搜索城市(称为onPlaceChanged()
),另一个阶段搜索酒店。在后面的搜索中,您将调用Places对象上的nearbySearch()
,该对象具有城市搜索中的bounds
参数和值为types
的'lodging'
参数。
关于javascript - Google Maps Places API V3自动完成-仅允许选择堪培拉的酒店,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27496168/