当我尝试将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_NAME
是OpenLayers.Handler.Path
。我的代码有什么问题?我应该在地图上添加特定的模块/插件吗?
最佳答案
终于我找到了解决方案。该问题与使用自定义构建以及将模块添加到主OpenLayers文件的优先级有关。
我用Control.Point
和Control.Path
这样:
控制路径
控制点
哪个不正确,正确的顺序/优先级是:
控制点
控制路径
现在,更改了包括OpenLayers模块的顺序后,一切正常。
关于javascript - 使用Control.Measure时出错:没有方法'setMap',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15097430/