Wechseln der Basisebene, wenn der Benutzer die Karte in OpenLayers vergrößert?


13

Ich habe eine Karte, die Open Street Map-Daten in Bildern für Pennsylvania überlagert. Als Unterschicht zu den Straßen (und eventuell zu anderen Schichten) habe ich zwei Unterschichten - Blue Marble NG und USGS EROS 1ft Imagery. Ich möchte in der Lage sein, diese beiden Ebenen in einem einzigen Kartengrundobjekt zu kombinieren, das automatisch wechselt, wenn der Benutzer zoomt, da es keinen Sinn macht, die 1-Fuß-Bilder für den gesamten Status oder die Blue Marble-Bilder beim Vergrößern anzuzeigen.

Im Idealfall möchte ich dies auf der Client-Seite tun, da ich die Bilder von zwei verschiedenen Standorten abrufe.


Es gibt einen fehlerhaften Link in dieser Frage, auf den unter gis.stackexchange.com/questions/173775/… hingewiesen wurde. Es ist schade, dass hier kein Kommentar abgegeben wurde, um Sie früher zu warnen .
PolyGeo

Antworten:


17
  1. Fügen Sie der Karte 2 Basis-Layer hinzu
  2. Abonnieren Sie das Zoomend-Event der Karte
  3. Überprüfen Sie die Zoomstufe und wechseln Sie einfach die Basiskarte für Ihren Benutzer

Hier ist eine Beispielseite mit einem Ereignishandler für zoomend - http://www.openlayers.org/dev/examples/events.html .


1
Das funktioniert wirklich gut - < ian01.geog.psu.edu/geoserver/www/pa/pa2.html >
Ian Turton

@iant, Gibt es eine Chance, dass Sie einen Ausschnitt aus Ihrem Code einfügen? Ich versuche, dies zu verwirklichen, und es ist nur fehlerhaft. Vielen Dank!

Diese Antwort enthält einen fehlerhaften Link, auf den unter gis.stackexchange.com/questions/173775/… hingewiesen wurde. Es ist eine Schande, dass hier kein Kommentar abgegeben wurde, um Sie früher zu warnen .
PolyGeo

-1 für einen einzelnen defekten Link in einer 5 Jahre alten Antwort? Ernsthaft? Die Punkte interessieren mich eigentlich nicht, aber ich kann mir nicht vorstellen, dass die Administratoren jetzt alle bitten, Links zu externen Referenzen zu pflegen. Beachten Sie, dass die Antwort in den Aufzählungszeichen 1,2,3 vollständig ist und die API-Links weiterhin funktionieren. Wenn der Leser eine Probe finden muss, der ich vertraue, kann er sie selbst finden. OL hat sich in den letzten 5 Jahren so sehr verändert und weiterentwickelt.
Vadim

0

Ein anderer Weg ... mit der Opazitätskontrolle

Probieren Sie dieses Beispiel aus: https://github.com/openlayers/ol2/blob/master/examples/layer-opacity.html

eine Kombination aus USGS_EDC_Elev_NED_3 (Shaded Relief) und Topo Maps mit Opazitätskontrolle

Funktioniert ganz gut.


Nicht ganz der Effekt, nach dem ich gesucht habe, sondern ein schönes Beispiel.
Ian Turton

Diese Antwort enthält einen fehlerhaften Link, auf den unter gis.stackexchange.com/questions/173775/… hingewiesen wurde. Es ist eine Schande, dass hier kein Kommentar abgegeben wurde, um Sie früher zu warnen .
PolyGeo

aktualisiere den link zu github source
Mapperz
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.