OpenLayers: OpenLayers.Control.SelectFeature и сдвиг карты

Решенные задачи, первая запись - описание решения.
Ответить
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

OpenLayers: OpenLayers.Control.SelectFeature и сдвиг карты

Сообщение Denis Rykov » 10 ноя 2010, 09:35

При активном контроле OpenLayers.Control.SelectFeature становится невозможным сдвиг карты за объект. То есть, если мы кликаем на объект и удерживая зажатой левую кнопку мыши, пытаем сдвинуть карту, то у нас ничего не получается. Происходит это потому, что контрол OpenLayers.Control.SelectFeature перехватывает событие нажатия левой клавиши и блокирует дальнейшее распространение этого события на другие контролы, слушающие его. Покажем как можно решить данную проблему.
Предположим у нас есть контрол:

Код: Выделить всё

select = new OpenLayers.Control.SelectFeature(anylayer); 
Если посмотреть с помощью firebug на свойство select.handlers.feature.stopDown, то можно увидеть, что по-умолчанию его значение равно "true", что и объясняет описанное выше поведение. Чтобы получить возможность двигать карту за объекты просто установим значение этого свойства в "false":

Код: Выделить всё

select.handlers.feature.stopDown = false; 
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Рецепты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя