Próbuję uaktualnić moją mapę Openlayers 2.12 do Openlayers 3, aby skorzystać z fantastycznych efektów przejścia na przezroczystych warstwach (coś OL2 i Ulotka nie mogą zrobić atrakcyjnie). To i nie chcę pozostać w tyle za aktualizacją moich stron, kiedy OL3 zostanie oficjalnie wydane. W mojej bieżącej witrynie (OL2.12) używam pól wyboru w prostym menu HTML do przełączania widoczności warstwy. Pcham każdą warstwę do tablicy (mam nadzieję, że mam rację, że OL3 teraz automatycznie generuje tablicę dla warstw zwanych „warstwami”) i każde pole wyboru wywołuje tę funkcję (pola wyboru mają wartość reprezentatywną dla ich numeru tablicy warstw ):
function layerswitch(evt){
layers[evt.value].setVisibility(evt.checked);
}
W OL3 to już nie działa i nie mogę znaleźć żadnych przykładów ani dokumentacji, które szczegółowo opisałyby, jak ustawić widoczność warstwy.
źródło
Aragon, twoja odpowiedź wskazała mi właściwy kierunek. Poniżej znajduje się mój ostatni nieczysty kod do dodawania warstw do tablicy, a następnie ich kontrolowania.
W pliku javascript zainicjowałem mapę i użyłem funkcji do przełączania widoczności w następujący sposób:
W HTML użyłem prostych pól wyboru (przykład przełącznika poly1):
źródło
Poniżej znajduje się link do dodatku do OpenLayers 3 z przełącznikiem warstw w stylu ol2.
https://github.com/walkermatt/ol3-layerswitcher
źródło