【问题标题】:Marker API's for gmaps4railsgmaps4rails 的标记 API
【发布时间】:2014-02-10 16:44:51
【问题描述】:

对不起,我问这个问题可能是因为,我对咖啡脚本不太满意。 在最新的gmaps4rails中,我们有没有直接的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()

【问题讨论】:

  • 不明白,显示一些代码,如何将标记转换为圆形?
  • 我在 github.com/apneadiving/Google-Maps-for-Rails/wiki/… 中使用了相同的代码,只是在 marker.innerHTML = '

    ' .heat-map-日食{背景颜色:#a07;不透明度:0.1;宽度:200px;高度:100px; -moz-border-radius: 100px / 50px; -webkit-border-radius:100px/50px;边框半径:100px / 50px; },但地图是空的。

标签: ruby-on-rails google-maps coffeescript gmaps4rails2


【解决方案1】:

我刚试过:

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 })

它给了我:

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

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

【讨论】:

  • ?我不明白你的问题。这是一个问题吗?
  • 我无法粘贴代码...所以我在第一个问题中更新了
  • 地图没有来。它是空的。为了调试,我尝试将 coffeescript 转换为 js 并尝试设置调试点 ..但是 buildMap 函数本身没有控制。但是,如果我删除类扩展部分控件正在 buildMap func
  • 我不知道你做了什么,你必须仔细检查你自己的代码:我猜不出来。或者@buldMap不应该是@buildMap吗?
  • 我在视图中使用了相同的名称(buldMap)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
  • 2014-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多