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 呼び出しの直後にこの coffeescript を追加する必要があります。
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 はマーカーに追加されていないか、別の方法でアクセスする必要があるようです。それはどのように行われるべきですか?