当我尝试将OpenLayers.Control.Measure添加到地图控件时,我安装了OpanLayers 2.10,出现此错误:

TypeError: Object #<Object> has no method 'setMap'


这是我的代码:

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


注意:我认为我的问题与OpenLayers.Handler.Path有关,因为在调试代码后,我发现对象的CLASS_NAMEOpenLayers.Handler.Path

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

最佳答案

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

我用Control.PointControl.Path这样:


控制路径
控制点


哪个不正确,正确的顺序/优先级是:


控制点
控制路径


现在,更改了包括OpenLayers模块的顺序后,一切正常。

关于javascript - 使用Control.Measure时出错:没有方法'setMap',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15097430/

10-13 01:03