Zmieniasz warstwy podstawowe, gdy użytkownik powiększa mapę w OpenLayers?

13

Mam mapę, która nakłada dane Open Street Map na zdjęcia z Pensylwanii. Jako podkładka do dróg (i ewentualnie innych warstw) mam dwie podkładki - Blue Marble NG i USGS EROS 1ft. Chciałbym móc połączyć te dwie warstwy w pojedynczy obiekt mapy bazowej, który przełącza się automatycznie, gdy użytkownik powiększa, ponieważ nie ma sensu oglądać zdjęć z wysokości 1 stopy dla całego stanu lub zdjęć z Niebieskiego Marmuru, gdy jesteś powiększony.

Idealnie chciałbym to zrobić po stronie klienta, ponieważ ściągam zdjęcia z dwóch różnych stron.

Ian Turton
źródło
W tym pytaniu jest uszkodzony link, na który wskazano na stronie gis.stackexchange.com/questions/173775/ ... Szkoda, że ​​nie podano tu komentarza, aby ostrzec cię wcześniej.
PolyGeo

Odpowiedzi:

17
  1. Dodaj 2 warstwy podstawowe do mapy
  2. Subskrybuj wydarzenie powiększenia mapy
  3. Sprawdź poziom powiększenia i po prostu przełącz mapę bazową dla swojego użytkownika

Oto przykładowa strona z obsługą zdarzeń dla zoomend - http://www.openlayers.org/dev/examples/events.html .

Vadim
źródło
1
To działa naprawdę dobrze - < ian01.geog.psu.edu/geoserver/www/pa/pa2.html >
Ian Turton
@iant, Czy jest jakaś szansa, że ​​wkleję fragment kodu? Staram się, aby tak się stało, i to jest po prostu błąd. Dzięki!
W tej odpowiedzi znajduje się niedziałający link, na który wskazano na stronie gis.stackexchange.com/questions/173775/ ... Szkoda, że ​​nie podano tu komentarza, aby ostrzec cię wcześniej.
PolyGeo
-1 za pojedynczy zepsuty link w 5-letniej odpowiedzi? Poważnie? Naprawdę nie dbam o punkty, ale nie wyobrażam sobie, że administratorzy proszą teraz wszystkich o utrzymanie linków do zewnętrznych odnośników. Pamiętaj, że odpowiedź w punktach 1, 2, 3 jest kompletna, a linki API nadal działają. Jeśli czytelnik musi znaleźć próbkę, ufam, że może ją znaleźć samodzielnie. OL zmieniło się i zmieniło tak bardzo w ciągu ostatnich 5 lat.
Vadim,
0

Innym sposobem ... za pomocą kontroli krycia

Spróbuj tego przykładu https://github.com/openlayers/ol2/blob/master/examples/layer-opacity.html

kombinacja USGS_EDC_Elev_NED_3 (Shaded Relief) i Topo Maps z kontrolą krycia

Działa całkiem dobrze.

Mapperz
źródło
Nie cichy efekt, o który starałem się, ale ładny przykład.
Ian Turton
W tej odpowiedzi znajduje się niedziałający link, na który wskazano na stronie gis.stackexchange.com/questions/173775/ ... Szkoda, że ​​nie podano tu komentarza, aby ostrzec cię wcześniej.
PolyGeo
zaktualizuj link do źródła github
Mapperz