当我尝试将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
。
我的代码有什么问题?我应该在地图中添加特定的模块/插件吗?
答案 0 :(得分:2)
最后我找到了解决方案。问题与使用自定义构建和将模块添加到主OpenLayers文件的优先级有关。
我以这种方式使用了Control.Point
和Control.Path
:
哪个是错误的,正确的顺序/优先级是:
现在,在更改包含OpenLayers模块的顺序后,一切正常。