12

查看相关问题: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 Places),如何允许用户找到与地址或他/她当前位置相关的自定义地点附近的列表?

4

1 回答 1

9

Local Search API已弃用,因此您可能应该考虑迁移到Places API

无论哪种情况,您需要做的就是查询(搜索或)Places API,从结果中提取 LatLngs 并将您的标记放置在地图上。

我不确定自定义标记是什么意思,我猜要么(a)使用每个结果自己的图标作为标记的图标,要么(b)让用户在您的数据(标记)中搜索,而不是谷歌的本地/地点。

(a) 使用Places Library有点容易。在place-search.htmlcreateMarker()示例中,您只需向回调函数添加一行:

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) 将是一个不同的故事,例如使用 PHP、MySQL 和谷歌地图创建商店定位器

于 2012-02-04T04:48:19.943 回答