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

9

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

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

Ответы:

12

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

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

drnextgis
источник
Однако, благодаря этому, похоже, это меняет внешний вид всего слоя, а не одного из множества элементов в слое, верно?
bethesdaboys
Не могли бы вы взглянуть на новый пример, это то, что вам нужно?
drnextgis
@drnextgis: хороший пример. +1
симо
1

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

Boro
источник