Jak zmienić wygląd Feature.Vector, który jest już wyświetlany?

9

Stworzyłem kilka obiektów Feature.Vectors z obiektów Point i przypisałem im styl. Teraz chcę dynamicznie zmieniać wygląd jednej z funkcji w czasie rzeczywistym; np. zmień go z czerwonego na niebieski. (NIE zatrzymuję się nad tą funkcją.) Próbowałem zmienić jej styl, następnie wykonałem odświeżenie () na warstwie lub przerysowanie () itp. I albo nic się nie dzieje, albo funkcja znika. Jakieś sugestie? Dzięki.

bethesdaboys
źródło
czy już zapisałeś ten problem?

Odpowiedzi:

12

Metoda przerysowania powinna rozwiązać twój problem, zobacz mój mały przykład: OpenLayers: modyfikowanie stylu funkcji

UPD: Trochę zmodyfikowałem mój przykład: OpenLayers: modyfikując jeden styl funkcji

drnextgis
źródło
Dzięki jednak wydaje się, że zmienia to wygląd całej warstwy, a nie jednej z wielu funkcji w warstwie, prawda?
bethesdaboys
Czy możesz spojrzeć na nowy przykład, czy tego potrzebujesz?
drnextgis
@drnextgis: Ładny przykład. +1
podobnie
1

Zgadzam się z @drnextgis, że przerysowanie zrobi (+1 za niezłą próbkę). Chociaż w twojej sytuacji, ponieważ chcesz po prostu przerysować jedną funkcję, skorzystam z tego, feature.layer.drawFeature(feature);co przedstawiono w poniższej próbce tutaj .

Boro
źródło