请参阅相关问题:google maps custom local search / search control
我知道我可以在Google地图中创建自定义位置和信息窗口 例如http://code.google.com/apis/ajax/playground/#info_windows_sharing_v3
我知道本地搜索可以找到附近的地方(公共搜索) 例如http://code.google.com/apis/ajax/playground/#localsearch_with_markers
但是我的问题很简单:如何将两者结合起来? 如何启用与本地/地点搜索功能相同的功能,但仅限于自定义标记位置(例如我自己的位置数据而不是Google的地方/本地数据)?
例如,如果我有一组自定义位置数据/标记(未发布到Google商家信息),如何允许用户查找相对于地址或他/她当前位置的自定义地点附近的列表?
答案 0 :(得分:8)
{@ 3}}已被弃用,因此您应该考虑转移到Local Search API。
在任何一种情况下,您只需查询(搜索或)Places API,从结果中提取LatLng并将标记放在地图上。
我不确定你对自定义标记的意思,我想(a)使用每个结果自己的图标作为标记的图标或(b)让用户在中搜索您的数据(标记),而不是Google的本地/地方。
(a)Places API有点容易。在Places Library示例中,您只需向createMarker()
回调函数添加一行:
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
icon: place.icon,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
虽然原始图标看起来很大,但您可能需要缩小它们。
(b)将是一个不同的故事,如place-search.html。