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