我需要一个能够返回评级,照片,开放/关闭时间等的POI API,我认为Google Places API似乎可以按照我的意愿行事,但我在过滤方面遇到了一些问题:我想使用自动完成功能多种类型的过滤。
这就是我所拥有的:
var map;
var selectAttractionAutocomplete;
var selectCityAutocompleteOptions = {
types: ['(cities)']
};
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(-33.8665433, 151.1956316),
zoom: 15
});
var inputsearchedCity = document.getElementById('input-searched-city');
selectCityAutocomplete = new google.maps.places.Autocomplete(inputsearchedCity, selectCityAutocompleteOptions);
selectCityAutocomplete.bindTo('bounds', map);
google.maps.event.addListener(selectCityAutocomplete, 'place_changed', function () {
console.log(selectCityAutocomplete.getPlace());
});
如何使用多种类型?
我尝试过管道,逗号,括号......没有用:
var selectCityAutocompleteOptions = {
types: ['cities|point_of_interest']
};
答案 0 :(得分:2)
根据Google Documentation,point_of_interest
属于类型2,在地点搜索的类型过滤器中不受支持,或在添加地点时在types属性中不受支持。
答案 1 :(得分:0)
最近遇到这个。答案在这里Google Places Auto-Complete
类型,可以指定两种显式类型之一 或 两种类型集合中的一种。
答案 2 :(得分:0)
如果在查询字符串中使用,请使用|。分隔器。请记住,当前只有'geocode | Establishment'作为集合类型有效,这与未指定任何组合类型相同。
请参阅: https://developers.google.com/places/web-service/autocomplete#place_types
您可以通过传递类型参数来将“地点自动完成”请求的结果限制为特定类型。该参数指定类型或类型集合,如下面支持的类型中所列。如果未指定任何内容,则返回所有类型。通常,只允许使用一种类型。唯一的例外是您可以安全地混合地理编码和企业类型,但是请注意,这与不指定类型具有相同的效果。
答案 3 :(得分:0)
this thread部分回答了这个问题。
首先,它不支持“城市”的地点类型。您可以找到受支持的地点类型here的列表。
无法同时使用多种类型。但是,您可以两次调用API以获得相似的结果。例如:
var selectCityAutocompleteOptions1 = {
types: ['zoo']
};
var selectCityAutocompleteOptions2 = {
types: ['museum']
};
但是,基于您的描述,这听起来像您想要所有兴趣点结果,而无需按类型进行过滤。在这种情况下,您可能想使用Find Place Requests Place Search。
答案 4 :(得分:-3)
var request = {
bounds: map.getBounds(),
types: ['bar','park']
//keyword: 'best view'
};