Javascript 使用控件时出错。测量:无方法';setMap';

Javascript 使用控件时出错。测量:无方法';setMap';,javascript,openlayers,Javascript,Openlayers,我有OpanLayers 2.10 an当我尝试将OpenLayers.Control.Measure添加到地图控件时,我得到以下错误: TypeError: Object #<Object> has no method 'setMap' 注意:我认为我的问题与OpenLayers.Handler.Path有关,因为在调试代码后,我发现对象的类名是OpenLayers.Handler.Path 我的代码有什么问题?我应该在地图上添加特定的模块/插件吗?最终我找到了解决方案。这个问题

我有OpanLayers 2.10 an当我尝试将
OpenLayers.Control.Measure
添加到地图控件时,我得到以下错误:

TypeError: Object #<Object> has no method 'setMap'
注意:我认为我的问题与
OpenLayers.Handler.Path
有关,因为在调试代码后,我发现对象的
类名是
OpenLayers.Handler.Path


我的代码有什么问题?我应该在地图上添加特定的模块/插件吗?

最终我找到了解决方案。这个问题与使用自定义构建和将模块添加到主OpenLayers文件的优先级有关

我用了
Control.Point
Control.Path
这样:

  • 控制路径
  • 控制点
  • 这是不正确的,正确的顺序/优先级是:

  • 控制点
  • 控制路径
  • 现在,在改变了包含OpenLayers模块的顺序之后,一切都正常了

    map.addControl(new OpenLayers.Control.Measure(
    OpenLayers.Handler.Path, {
      persist: true
    }));