我正在寻找一种通过指定确切位置但不指定确切商店名称(如通配符搜索)来执行 Google Maps API V3“nearbySearch”的方法。
例如,如果请求是针对“旧金山”中的“星巴克”,它将返回所有名为“星巴克”的地点,无论该地点的标题中是否包含更多单词,例如,结果将包含“星巴克咖啡”、“星巴克史密斯街” ”或简称“星巴克”。目前看起来它只找到相同的匹配项,“星巴克”。
代码(更多信息在这里):
var map;
var service;
var infowindow;
function initialize() {
// Specify lat/lng of search location
var SanFran = new google.maps.LatLng(37.777119,-122.41964);
// Create new map object
map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: SanFran,
zoom: 15
});
// Create request parametres
var request = {
location: SanFran
, radius: '500',
, name: "Starbucks"
};
// Call the nearby search using the parametres
service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);
}
// Asynchronous marker creation at returned locations
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place = results[i];
createMarker(results[i]);
}
}
}
我做了一些阅读,虽然看起来 API3 不提供通配符搜索,但我希望有解决方法。
提前致谢!