gmaps4rails默认打开infowindow

时间:2013-04-26 12:40:28

标签: google-maps-api-3 gmaps4rails

我在rails v.3.1.11 app上使用gmaps4rails gem。 根据我见过的各种例子,我试图用这个来实现这个主题的目标:

在我的视图的页脚上(使用haml):

= yield :scripts
:javascript
    Gmaps.map.callback = function(){
        console.log('callback');
        $(document).trigger('map:ready');
    }

然后在咖啡脚本文件上定义触发器:

$(document).on 'map:ready', -> openInfoWindow()
openInfoWindow = ->
  for m in Gmaps.map.markers
    marker = m.serviceObject
    google.maps.event.addListener marker, "click" ->
      infowindow.open(map,marker)
    infowindow.open(map,marker)

但是我有一个错误:未捕获的ReferenceError:未定义对象 我做了其他尝试,但我无法弄清楚如何设置事物

1 个答案:

答案 0 :(得分:1)

您无法直接使用infowindowmap

您必须在代码中使用标记对象的属性(m)。

尝试:

$(document).on 'map:ready', -> openInfoWindow()
openInfoWindow = ->
  for m in Gmaps.map.markers
    marker = m.serviceObject
    google.maps.event.addListener marker, "click" ->
      m.infowindow.open(marker.map, marker)
    m.infowindow.open(marker.map, marker)

HTH