地图信息窗口未在鼠标悬停事件上打开(coffeescript)

Maps infowindow is not opening on mouseover event (coffeescript)

我研究并尝试了一切以找到解决方案。我必须承认我不是 coffeescript 方面的专家。也许这是一个明显的错误,但我不知道,如果有人能提供帮助,我会很高兴。

我在 google 地图上创建了标记。使用 click applisteners 可以打开属于标记的特定 html。现在我还需要每个标记的信息窗口,它应该在鼠标悬停时打开并在离开时关闭。 我不知道为什么它不起作用。我尝试了其他解决方案,这些解决方案主要适用于 javascript 但不适用于 coffeescript。这是代码:

### define
lodash : _
backbone : Backbone
marionette : Marionette
app : app
parse : Parse
###

class MapView extends Marionette.View

  DEFAULT_CENTER : [0, 0]
  DEFAULT_ZOOM : 10

  className : "map-view"

  render : ->

    mapOptions =
      zoom: @DEFAULT_ZOOM
      streetViewControl: false
      panControl: false
      center: new google.maps.LatLng(@DEFAULT_CENTER...)
      mapTypeId: google.maps.MapTypeId.ROADMAP

    @map = new google.maps.Map(@el, mapOptions)

    @infowindow = new google.maps.InfoWindow()

  #[........................]

  makeJobMarker : (job) ->

    marker = new google.maps.Marker({
      map : @map
      position : {
        lat : job.get("location").latitude,
        lng : job.get("location").longitude
      }
      icon : "/images/marker/#{job.get("jobCategory")}.png"
      animation : google.maps.Animation.DROP
      zIndex : google.maps.Marker.MAX_ZINDEX + 1
      optimized : false
    })

    marker.addListener("mouseover", =>
      infowindow.setContent("Hello")
      infowindow.open(map,marker)
    )

    marker.addListener("click", =>
      app.router.navigate("/job/#{job.id}", trigger : true)
      app.vent.trigger("view:searchItem")

    )

    marker.jobId = job.id
    return marker

    #[.......................]

您缺少访问私有成员 @map@infowindow@ 密钥(this 相当于 javascript):

marker.addListener("mouseover", =>
  @infowindow.setContent("Hello")
  @infowindow.open(@map,marker)
)