0

我正在升级旧的 Rails 2.1 应用程序并用 Gmaps4Rails gem 替换 google_maps 插件。到目前为止,转换非常简单。剩下的任务是以编程方式显示和隐藏我在地图旁边显示的地址列表的 mouseOver 上的标记信息窗口。

我的问题是如何获得标记的句柄以显示信息窗口?

我发现了这个问题,但它似乎处理了标记的 mouseOver 。本质上,我想使用地图外部元素的 mouseOver 事件来显示标记的信息窗口。

任何帮助表示赞赏。

这种行为似乎内置于 google_maps 插件中(据我所知)。

4

1 回答 1

1

在 gmaps4rails 中没有内置的方法来实现这一点。但这里是相关的步骤:

1)在您的控制器中

 Foo.your_scope.to_gmaps4rails do |obj, marker|
   # Add any custom elements here
   marker.json { :id => obj.id }
 end

这将添加 Gmaps.map.markers 数组中每个元素的 id。

2) 在你看来

html:

  • 向每个侧元素添加一个具有相关对象 id 的属性

Javascript:

  • 编写一个 js 函数,从它的 id 中检索一个标记(基本上,循环Gmaps.map.markers并检查每个元素的 id)

  • 编写一个 js 函数来观察你的侧元素 mouseOver。在它的回调中,通过上面的函数找到相关的标记并最终触发:foundMarker.infowindow.open(Gmaps.map.map, foundMarker.serviceObject)

于 2012-04-20T21:17:40.260 回答