我不想在 Gmaps4Rails v.2 上显示信息窗口,而是想在点击时转到对象的 url。因此,在 Gmaps4Rails v.1 中,它像这样向{link: <path>}
每个标记的 json 添加一个额外的部分,然后设置重新调整事件侦听器。
这与Make map marker direct link onclick for gmaps4rails非常相似,仅适用于 Gmaps4Rails v.2 (并且因为它是完全重写的,我认为最好在正确的问题上而不是混合完全不同的方法的代码)
我了解到,为了在 Gmaps4Rails v2 中引入自定义 json,我必须
@markers = Gmaps4rails.
build_markers(objects) do |object, marker|
marker.lat object.latitude
marker.lng object.longitude
marker.json({link: object_path(object)})
end
并且要更改事件处理程序,我必须在 addMarker 调用之后直接添加这个咖啡脚本:
markers = handler.addMarkers(#{raw @markers.to_json})
_.each markers, (marker) ->
link = < retrieve link from marker somehow?! >
google.maps.event.clearListeners(marker.getServiceObject(), 'click')
google.maps.event.addListener marker.getServiceObject(), "click", ->
window.location = link
return
不幸的是,链接 json 似乎没有添加到标记中,或者应该以不同的方式访问。应该怎么做?