Как изменить внешний вид Feature.Vector, который уже отображается?


9

Я создал группу Feature.Vectors из объектов Point и назначил им стиль. Теперь я хочу динамически изменять внешний вид одной из функций в реальном времени; например, измените его с красного на синий. (Я НЕ наводю указатель мыши на элемент.) Я попытался изменить его стиль, затем выполнить функцию refresh () на слое или redraw () и т. Д., И либо ничего не происходит, либо функция исчезает. Какие-либо предложения? Спасибо.


Вы уже сохранили эту проблему?

Ответы:


12

Метод перерисовки должен решить вашу проблему, см. Мой маленький пример: OpenLayers: изменение стиля объекта

UPD: я немного изменил свой пример: OpenLayers: изменение одного стиля объекта


Однако, благодаря этому, похоже, это меняет внешний вид всего слоя, а не одного из множества элементов в слое, верно?
bethesdaboys

Не могли бы вы взглянуть на новый пример, это то, что вам нужно?
drnextgis

@drnextgis: хороший пример. +1
симо

1

Я согласен с @drnextgis, что будет делать перерисовка (+1 для хорошего образца). Хотя в вашей ситуации, так как вы хотите просто перерисовать одну функцию, я бы использовал, feature.layer.drawFeature(feature);которая представлена в следующем примере здесь .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.