与.addInfo方法一起使用时,mapbox infoControl会导致'undefined is a function'错误

时间:2014-04-17 20:51:36

标签: javascript coffeescript leaflet mapbox

任何人都知道如何使用mapbox.js的infoControl,如何使用position选项和.addInfo()方法实现它而不会导致测试失败?

我在使用Mapbox 1.6.1中的infoControl时出现问题 - 未定义的rake测试失败并不是一个对象'或者'不是功能'。像position这样的未记录的选项仍然可以使用它。我使用其他控件(例如缩放,图层)没有相同的问题。

我的代码:

class MyMap extends Backbone.View
  initialize: (@options) ->
    @map = L.mapbox.map(mapContainer, @options.mapboxMap, 
    zoomControl: false, 
    infoControl: false)
    @addControls()

  addControls: (map) ->
    L.mapbox.infoControl({ position: 'bottomleft' }).addInfo('Contains information from YZ.').addTo(@map)
    L.control.scale().addTo(@map)
    L.control.zoom(position: 'bottomleft').addTo(@map)

在整个过程中,信息框仍然在我的地图上正常工作,除了没有通过这些佣金测试之外,没有任何问题。

1 个答案:

答案 0 :(得分:0)

看起来你正在呼叫@addControls(),当你应该呼叫@addControls(@map)时,正在调用.addTo(undefined),这是无效的。