首页 文章

标记API用于gmaps4rails

提问于
浏览
0

对不起,我问这个问题可能是因为,咖啡脚本不太舒服 . 在最新的gmaps4rails中,在构建 Map 和标记后,我们是否有任何直接的api来修改标记,而不是使用https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Change-handler-behavior中咖啡脚本中指定的函数

我的意思是,如果我们想要动态更改标记,例如将标记更改为显示接近度的透明圆圈 .

下面的代码有什么问题吗 . 缩进是否重要?

class RichMarkerBuilder extends Gmaps.Google.Builders.Marker #inherit from builtin builder
  #override create_marker method
  create_marker: ->
    options = _.extend @marker_options(), @rich_marker_options()
    @serviceObject = new RichMarker options #assign marker to @serviceObject

  rich_marker_options: ->
    boxText = document.createElement("p")
    boxText.setAttribute("class", 'heat-map-eclipse')
    _.extend(@marker_options(), { content: boxText, flat: true })

@buldMap= (markers)->

 handler = Gmaps.build 'Google', { builders: { Marker: RichMarkerBuilder} } #dependency injection

 #then standard use
 handler.buildMap { provider: {}, internal: {id: 'map'} }, ->
   markers = handler.addMarkers(markers)
   handler.bounds.extendWith(markers)
   handler.fitMapToBounds()

1 回答

  • 0

    我刚尝试过:

    class MarkerBuilder extends Gmaps.Google.Builders.Marker
    
      create_marker: ->
        options = _.extend @marker_options(), @rich_marker_options()
        @serviceObject = new RichMarker options
    
      rich_marker_options: ->
        boxText = document.createElement("p")
        boxText.setAttribute("class", 'heat-map-eclipse')
        _.extend(@marker_options(), { content: boxText, flat: true })
    

    它给了我:

    enter image description here

    所以我猜它开箱即用,对吧?

    但是你有一个错误的方法:根据定义,标记始终保持相同的尺寸

相关问题