2013-02-26 2 views
1

У меня есть OpanLayers 2.10, когда я пытаюсь добавить OpenLayers.Control.Measure к элементам управления, я получаю эту ошибку:Ошибки при использовании Control.Measure: нет методы «» setMap

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.

В чем проблема с моим кодом? Должен ли я добавлять к карте определенный модуль/плагин?

ответ

2

Наконец-то я нашел решение. Проблема связана с использованием Custom Build и приоритетом добавления модулей в основной файл OpenLayers.

Я использовал Control.Point и Control.Path этот путь:

  1. Control.Path
  2. Control.Point

Что неверно и правильный порядок/приоритет:

  1. управления .Point
  2. Control.Path

Теперь, после изменения порядка включения модулей OpenLayers, все работает нормально.

Смежные вопросы