Wie ändere ich das Erscheinungsbild eines bereits angezeigten Feature.Vector?

9

Ich habe eine Reihe von Feature.Vectors aus Punktobjekten erstellt und ihnen einen Stil zugewiesen. Jetzt möchte ich das Erscheinungsbild einer der Funktionen in Echtzeit dynamisch ändern. Ändern Sie es beispielsweise von rot nach blau. (Ich bewege den Mauszeiger NICHT über die Funktion.) Ich habe versucht, den Stil zu ändern und dann die Ebene zu aktualisieren () oder neu zu zeichnen () usw., und entweder passiert nichts oder die Funktion verschwindet. Irgendwelche Vorschläge? Vielen Dank.

Bethesdaboys
quelle
Hast du dieses Problem schon gespeichert?

Antworten:

12

Die Redraw-Methode sollte Ihr Problem lösen, siehe mein kleines Beispiel: OpenLayers: Ändern des Feature-Stils

UPD: Ich habe mein Beispiel ein wenig geändert: OpenLayers: Ändern eines Feature-Stils

drnextgis
quelle
Dank aber dies scheint das Aussehen der gesamten Schicht zu ändern, anstatt die ein bestimmten einen von vielen Funktionen in der Schicht, nicht wahr?
Bethesdaboys
Könnten Sie sich ein neues Beispiel ansehen, ist es das, was Sie brauchen?
Drnextgis
@drnextgis: Schönes Beispiel. +1
Simo
1

Ich stimme @drnextgis zu, dass das Neuzeichnen ausreicht (+1 für ein schönes Beispiel). Obwohl Sie in Ihrer Situation nur eine einzelne Funktion neu zeichnen möchten, würde ich diese verwenden, feature.layer.drawFeature(feature);die im folgenden Beispiel hier dargestellt ist .

Boro
quelle