Comment changer l'apparence d'un Feature.Vector qui est déjà affiché?

9

J'ai créé un tas de Feature.Vectors à partir d'objets Point et leur ai attribué un style. Maintenant, je veux changer dynamiquement l'apparence de l'une des fonctionnalités en temps réel; par exemple, changez-le du rouge au bleu. (Je ne survole PAS la fonction.) J'ai essayé de changer son style, puis de faire un rafraîchissement () sur le calque, ou un redessin (), etc., et soit rien ne se passe, soit la fonction disparaît. Aucune suggestion? Merci.

bethesdaboys
la source
avez-vous déjà enregistré ce problème?

Réponses:

12

La méthode de rafraîchissement devrait résoudre votre problème, voir mon petit exemple: OpenLayers: modification du style de fonctionnalité

UPD: J'ai un peu modifié mon exemple: OpenLayers: modification d'un style de fonctionnalité

drnextgis
la source
Merci cependant, cela semble changer l'apparence de l'ensemble du calque, plutôt que celle d'une caractéristique particulière parmi les nombreuses du calque, non?
bethesdaboys
Pourriez-vous regarder un nouvel exemple, est-ce ce dont vous avez besoin?
drnextgis
@drnextgis: bel exemple. +1
simo
1

Je suis d'accord avec @drnextgis que redessiner fera l'affaire (+1 pour un bel échantillon). Bien que dans votre situation, puisque vous souhaitez simplement redessiner une seule fonctionnalité, j'utiliserais celle feature.layer.drawFeature(feature);qui est présentée dans l'exemple suivant ici .

Boro
la source