Suite

Comment définir le maxBound pour la carte dans OL3

Comment définir le maxBound pour la carte dans OL3


Je dois montrer la carte uniquement pour le monde

comme https://stackoverflow.com/questions/16558231/leafletjs-setmaxbounds-wont-let-zoom-out-to-see-whole-world

Comment régler cela dans OL3,

essayé en donnant de l'étendue à la vue mais ne fonctionne pas

view : new ol.View({ center : center.getCoordinates(), zoom : this.mapOptions.zoom, extent : [-180,-180,180,180] })

Obtenez l'étendue mondiale de votre projection :

var projection = ol.proj.get('EPSG:3857'); var world_extent = projection.getWorldExtent(); console.info(world_extent);

Ensuite, à votre avis :

view : new ol.View({ extent : world_extent, center : [0, 0], zoom : 1, minZoom : 1 })

il y a beaucoup d'options différentes pour cela. Dans quelle projection est « votre monde » ? Cela dépend de ce que vous essayez d'atteindre et de votre couche de base pour montrer au monde. Aussi "ne fonctionne pas" signifie quoi ??? Vous avez des erreurs ???? En termes de géographie [-180,-180,180,180] n'est pas correct car les valeurs de latitude varient de -90 à +90. Il serait donc correct d'utiliser [-180,-90,180,90]. Mais cela dépend ensuite de l'epsg de votre couche source ainsi que de votre carte. Voir un exemple de travail. J'utilise la couche bing comme couche de base (EPSG:3857) donc je dois transformer mon lon,lat en x,y.

var raster = new ol.layer.Tile({ source : new ol.source.BingMaps({ imagerySet : 'Aerial', clé : 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKh3'); var myextent = ol.extent.applyTransform([-179,-89,179,89], ol.proj.getTransform("EPSG:4326", "EPSG:3857")); console.log(monétendue); var mycenter = ol.extent.getCenter(myextent) console.log(mycenter); var map = new ol.Map({ couches : [raster], cible : document.getElementById('map'), vue : new ol.View({ extent : myextent, projection : 'EPSG:3857', center : mycenter, //maxZoom : 19, minZoom :2, zoom : 2 }) });

Revenons maintenant à votre question, l'étendue est utilisée sur la configuration de la vue pour limiter la carte du déplacement en dehors de cette étendue. Tant que vous donnez une étendue du monde, c'est comme ne rien donner. Si vous voulez juste afficher une carte avec le monde entier, utilisez simplement le niveau de zoom le plus élevé (c'est 0)zoomer : 0de votre couche de base et uncentrequi pointe vers le centre du monde.


Voir la vidéo: OL3 polttoaineenlataus