¿Cambiando las capas base cuando el usuario se acerca al mapa en OpenLayers?

13

Tengo un mapa que superpone los datos de Open Street Map en imágenes de Pennsylvania. Como capa base de las carreteras (y eventualmente otras capas) tengo dos capas base: imágenes de Blue Marble NG y USGS EROS 1ft. Me gustaría poder combinar estas dos capas en un solo objeto de mapa base que cambie automáticamente a medida que el usuario se acerca, ya que no tiene sentido ver las imágenes de 1 pie para todo el estado o las imágenes de Mármol azul cuando se acerca.

Idealmente, me gustaría hacer esto en el lado del cliente, ya que estoy sacando las imágenes de dos sitios diferentes.

Ian Turton
fuente
Hay un enlace roto en esta pregunta que se ha señalado en gis.stackexchange.com/questions/173775/… Es una pena que no se haya hecho un comentario aquí para alertarlo antes.
PolyGeo

Respuestas:

17
  1. Agregue 2 capas base al mapa
  2. Suscríbase al evento zoomend del mapa
  3. Verifique el nivel de zoom y simplemente cambie el mapa base para su usuario

Aquí hay una página de muestra con un controlador de eventos para zoomend: http://www.openlayers.org/dev/examples/events.html .

Vadim
fuente
1
Eso funciona muy bien - < ian01.geog.psu.edu/geoserver/www/pa/pa2.html >
Ian Turton
@iant, ¿hay alguna posibilidad de que pegues un fragmento de tu código? Estoy tratando de hacer que esto suceda, y solo tiene errores. ¡Gracias!
Hay un enlace roto en esta respuesta que se ha señalado en gis.stackexchange.com/questions/173775/… Es una pena que no se haya hecho un comentario aquí para alertarlo antes.
PolyGeo
-1 para un solo enlace roto en una respuesta de 5 años? ¿Seriamente? Realmente no me importan los puntos, pero no puedo imaginar que los administradores ahora pidan a todos que mantengan enlaces a referencias externas. Tenga en cuenta que la respuesta en las viñetas 1,2,3 está completa y los enlaces de la API aún funcionan. Si el lector necesita encontrar una muestra, confío en que pueda encontrarla por su cuenta. OL ha cambiado y ha avanzado mucho en los últimos 5 años.
Vadim
0

Otra forma ... usando el control de opacidad

Pruebe este ejemplo https://github.com/openlayers/ol2/blob/master/examples/layer-opacity.html

una combinación de USGS_EDC_Elev_NED_3 (Relieve sombreado) y Topo Maps con control de opacidad

Funciona bastante bien

Mapperz
fuente
No calla el efecto que estaba intentando pero es un buen ejemplo.
Ian Turton
Hay un enlace roto en esta respuesta que se ha señalado en gis.stackexchange.com/questions/173775/… Es una pena que no se haya hecho un comentario aquí para alertarlo antes.
PolyGeo
actualizar el enlace a la fuente de github
Mapperz