0

我正在使用 rails v.3.1.11 应用程序并使用 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)

但我有一个错误:Uncaught ReferenceError: object is not defined 我做了其他尝试,但我不知道如何设置这个东西

4

1 回答 1

1

你不能直接使用infowindowand map

您必须使用标记对象的属性(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

于 2013-05-28T14:28:42.127 回答