是否可以使用Google Maps JavaScript API v3在一个位置搜索请求中搜索多个单个关键字?
在Google Places API文档中,它指出可以使用多个关键字https://developers.google.com/places/training/additional-places-features?keyword=theater+gym
但这在JavaScript API中不起作用。我试过了:
function performSearch() {
var request = {
location: map.center,
radius: '500',
keyword: 'theater+gym+tacos',
rankBy: 'distance'
};
service.radarSearch(request, callback);
}
...并且不会为每个关键字返回位置。有谁知道如何搜索多个关键字?
注意:我正在尝试在一个请求中搜索多个单个关键字,而不是带空格的短语。
最佳答案
答案似乎是“否”(至少在目前,您可以请求enhancement on the issue tracker)。
解决方法是发送三个单独的查询,每个关键字一个。 3个关键字应该可以,在某些时候您将遇到查询速率限制。
var request = {
location: pyrmont,
radius: 500,
keyword: 'theater'
};
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);
var request2 = {
location: pyrmont,
radius: 500,
keyword: 'gym'
};
var service2 = new google.maps.places.PlacesService(map);
service2.nearbySearch(request2, callback);
var request3 = {
location: pyrmont,
radius: 500,
keyword: 'tacos'
};
var service3 = new google.maps.places.PlacesService(map);
service3.nearbySearch(request2, callback);
proof of concept