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.


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


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 .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.