web-dev-qa-db-fra.com

ZoomToExtent OpenLayers 3

OpenLayers 2 possédait une fonction map.zoomToExtent(extent) très utile. Y at-il quelque chose de similaire dans OpenLayers 3? Je peux obtenir l'étendue de l'intérêt avec source.getExtent(), mais je ne peux pas comprendre comment appliquer cette étendue en tant que "niveau de zoom".

19
Tyler DeWitt

Quitter la fonction sfletche liée à: 

var extent = source.getExtent();
map.getView().fitExtent(extent, map.getSize());

EDIT 23 juillet 2013

Apparemment, fitExtent est obsolète. Devrait être ol.View.fit, donc quelque chose a trait à ceci

var extent = source.getExtent();
map.getView().fit(extent, map.getSize()); 
46
Tyler DeWitt

Avec OpenLayers 4.x, cette solution reste valable:

map.getView().fit(source.getExtent(), map.getSize()); 

Veillez à définir le deuxième paramètre facultatif pour éviter les erreurs de console, s'il n'y a pas de points sur la carte.

3
Naderio

Avec OpenLayers 4.x, j'ai trouvé les méthodes suivantes utiles: 

map.getView().setCenter([x, y]); map.getView().setZoom(z);

x, y, z sont les coordonnées sur lesquelles vous souhaitez effectuer un zoom. 

0
juminet