Changer de sous-couches lorsque l'utilisateur effectue un zoom avant sur la carte dans OpenLayers?

13

J'ai une carte qui recouvre les données Open Street Map sur l'imagerie pour la Pennsylvanie. En tant que couche de base pour les routes (et éventuellement d'autres couches), j'ai deux couches de base - l'imagerie Blue Marble NG et USGS EROS 1ft. Je voudrais pouvoir combiner ces deux couches en un seul objet de carte de base qui bascule automatiquement lorsque l'utilisateur effectue un zoom avant, car cela n'a aucun sens de visualiser les images de 1 pied pour l'ensemble de l'état ou les images de Blue Marble lorsque vous effectuez un zoom avant.

Idéalement, j'aimerais faire cela du côté client, car je tire les images de deux sites différents.

Ian Turton
la source
Il y a un lien brisé dans cette question qui a été signalé sur gis.stackexchange.com/questions/173775/… Il est dommage qu'aucun commentaire n'ait été fait ici à la place pour vous alerter plus tôt.
PolyGeo

Réponses:

17
  1. Ajoutez 2 couches de base à la carte
  2. Abonnez-vous à l'événement Zoomend de la carte
  3. Vérifiez le niveau de zoom et changez simplement la carte de base pour votre utilisateur

Voici un exemple de page avec un gestionnaire d'événements pour zoomend - http://www.openlayers.org/dev/examples/events.html .

Vadim
la source
1
Cela fonctionne très bien - < ian01.geog.psu.edu/geoserver/www/pa/pa2.html >
Ian Turton
@iant, Y a-t-il une chance que je puisse vous faire coller un extrait de votre code? J'essaie de faire en sorte que cela se produise, et c'est juste un buggy. Merci!
Il y a un lien brisé dans cette réponse qui a été signalé sur gis.stackexchange.com/questions/173775/… Il est dommage qu'aucun commentaire n'ait été fait ici à la place pour vous alerter plus tôt.
PolyGeo
-1 pour un seul lien brisé dans une réponse vieille de 5 ans? Sérieusement? Je ne me soucie pas vraiment des points, mais je ne peux pas imaginer que les administrateurs demandent maintenant à tout le monde de maintenir des liens vers des références externes. Notez que la réponse dans les puces 1,2,3 est complète et que les liens API fonctionnent toujours. Si le lecteur a besoin de trouver un échantillon, j'espère qu'il pourra le trouver par lui-même. L'OL a tellement changé et évolué au cours des 5 dernières années.
Vadim
0

Une autre façon ... d'utiliser le contrôle d'opacité

Essayez cet exemple https://github.com/openlayers/ol2/blob/master/examples/layer-opacity.html

un combo de USGS_EDC_Elev_NED_3 (relief ombré) et de cartes topographiques avec contrôle d'opacité

Fonctionne assez bien.

Mapperz
la source
Pas calme l'effet que j'essayais mais un bel exemple.
Ian Turton
Il y a un lien brisé dans cette réponse qui a été signalé sur gis.stackexchange.com/questions/173775/… Il est dommage qu'aucun commentaire n'ait été fait ici à la place pour vous alerter plus tôt.
PolyGeo
mettre à jour le lien vers la source github
Mapperz