Не перерисовываются объекты на слое Vector
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 14 окт 2012, 08:11
- Репутация: 0
Не перерисовываются объекты на слое Vector
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) при зуминге или перемещении по карте используя мышь.
Спасибо.
Поскольку требуется работа с картой без интернета, нарезал её на куски, отрендерил для разного увеличения, все сложил и функциями вывожу - все замечательно работает. (Использовал для этого 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) при зуминге или перемещении по карте используя мышь.
Спасибо.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Не перерисовываются объекты на слое Vector
Покажите ваш код или лучше дайте ссылку на живой пример.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 14 окт 2012, 08:11
- Репутация: 0
Re: Не перерисовываются объекты на слое Vector
Ответил в ЛС
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Не перерисовываются объекты на слое Vector
То есть замените MouseDefaults -> Navigation. И советую вам переключиться на использование свежей версии OpenLayers 2.12 вместо используемой сейчас 2.7. Понимаю, что выбор версии за вас сделал gdal2tiles, но с момента включения моего патча в транк он теперь по умолчанию генерирует шаблон с последней версией OpenLayers-2.12 и использует Navigation вместо MouseDefaults.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!!!
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 14 окт 2012, 08:11
- Репутация: 0
Re: Не перерисовываются объекты на слое Vector
Спасибо, проверил, все работает
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость