使用Gmaps4rails v2在地图加载后添加和更新标记

时间:2014-09-04 05:32:30

标签: javascript ruby-on-rails google-maps-api-3 gmaps4rails

在我的Rails应用程序中,在地图完成加载后,我进行了一次Ajax调用,然后我找回了一些属于地图信封的兴趣点。我想在地图上标记这些兴趣点,但我不希望地图随着标记的添加而移动,如果标记彼此太靠近,我希望发生聚类。 / p>

其次,在我的应用程序中,我能够(通过Ajax-back按钮)加载更多兴趣点(在相同的地图范围内),并且我希望能够将这些新点添加到地图中(在除了现有的之外 - 和以前一样,如果它们太靠近,它们应该彼此聚集在一起(旧的和新的)。

我见过Gmaps4Rails.replace_markers(newItemData);Gmaps.map.replaceMarkers(markers)之类的内容,但我在Gmaps4Rails的代码库(v2中看不到replace_markersreplaceMarkers的引用这篇文章)。此外,我认为handler.bounds.extendWith(markers); handler.fitMapToBounds();不适合我,因为它似乎会移动地图。

我应该如何使用Gmaps4Rails v2来做这些事情?

  • 添加标记而不移动地图(如果需要,则添加群集)
  • 在不移动地图的情况下添加更多标记(如果需要,可以对现有和新的标记进行集群)

1 个答案:

答案 0 :(得分:1)

检查doc here

你可以这样做:

var markers = handler.addMarkers(json_array)
var marker  = handler.addMarker(json)

handler.removeMarkers(markers)
handler.removeMarker(marker)

如果您read the source,您会看到它为您处理群集器。