Страница 1 из 1

Не перерисовываются объекты на слое Vector

Добавлено: 14 окт 2012, 08:36
Gora
Cоставил карту города (нарезал из openstreepmap). Далее подключил OpenLayers.
Поскольку требуется работа с картой без интернета, нарезал её на куски, отрендерил для разного увеличения, все сложил и функциями вывожу - все замечательно работает. (Использовал для этого OpenLayers.Layer.TMS )
Создал слои типа marker, vector, text и добавил их на карту.
Создал popup-ы для объектов на слоях типа vector и text.

При увеличении карты и возможном её перемещении мышью объекты на слое marker (OpenLayers.Layer.Markers) перерисовываются без проблем, (то есть если при увеличении карты объект marker оказался за пределами видимости окна карты, то при перемещении карты мышью, когда его координаты попадают в видимое окно карты он отрисовывается нормально).
Но тоже самое НЕ РАБОТАЕТ с объектами на слоях типа vector. ПОЧЕМУ ???
Слои типа Vector (OpenLayers.Feature.Vector) всем хороши, использовать их просто и удобно, но не перерисовываются объекты при зуминге (если объект оказался за пределами видимой части карты) и мы просто перемещаем мышью карту. Если использовать для перемещения по карте кнопки-стрелки то объекты перерисовываются.
Поэтому решил использовать объекты marker (OpenLayers.Layer.Markers), но к ним не получается создать popup.

1) Подскажите как сделать popup к объектам на слое marker (OpenLayers.Layer.Markers).
2) Ну или еще лучше было бы перерисовывать объекты на слое Vector (OpenLayers.Feature.Vector) при зуминге или перемещении по карте используя мышь.

Спасибо.

Re: Не перерисовываются объекты на слое Vector

Добавлено: 14 окт 2012, 15:42
Denis Rykov
Покажите ваш код или лучше дайте ссылку на живой пример.

Re: Не перерисовываются объекты на слое Vector

Добавлено: 14 окт 2012, 18:55
Gora
Ответил в ЛС

Re: Не перерисовываются объекты на слое Vector

Добавлено: 15 окт 2012, 07:06
Denis Rykov
OpenLayers.Control.MouseDefaults class is DEPRECATED in 2.4 and will be removed by 3.0. If you need this functionality, use OpenLayers.Control.Navigation instead!!!
То есть замените MouseDefaults -> Navigation. И советую вам переключиться на использование свежей версии OpenLayers 2.12 вместо используемой сейчас 2.7. Понимаю, что выбор версии за вас сделал gdal2tiles, но с момента включения моего патча в транк он теперь по умолчанию генерирует шаблон с последней версией OpenLayers-2.12 и использует Navigation вместо MouseDefaults.

Re: Не перерисовываются объекты на слое Vector

Добавлено: 15 окт 2012, 07:45
Gora
Спасибо, проверил, все работает