1

我有 OpanLayers 2.10,当我尝试添加OpenLayers.Control.Measure到地图控件时,我收到此错误:

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.

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

4

1 回答 1

2

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

我用Control.Point这种Control.Path方式:

  1. 控制路径
  2. 控制点

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

  1. 控制点
  2. 控制路径

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

于 2013-02-28T22:51:42.247 回答