OpenLayers 2 hatte eine sehr nützliche Funktion map.zoomToExtent(extent)
. Gibt es in OpenLayers 3 etwas Ähnliches? Ich kann das Ausmaß des Interesses mit source.getExtent()
bekommen, aber ich kann nicht herausfinden, wie man dieses Ausmaß als eine "Zoomstufe" anwendet.ZoomToExtent OpenLayers 3
Antwort
die Funktion sfletche abgehend verknüpft:
var extent = source.getExtent();
map.getView().fitExtent(extent, map.getSize());
EDIT 23. Juli 2013
Anscheinend fitExtent
ist veraltet. Sollte ol.View.fit
, so etwas Linkes diese (untestesd):
var extent = source.getExtent();
map.getView().fit(extent, map.getSize());
danke für den Kredit @tylerdewitt. Ich war zu langsam um zu antworten, also gebe ich dir stattdessen ein paar Internet-Punkte. :) – sfletche
Wirklich großartige Lösung. Es löste auch mein Problem – imdadhusen
Views fitExtent() scheint in 3.4 – user1702401
Mit Openlayers 4.x dies immer noch eine gültige Lösung ist:
map.getView().fit(source.getExtent(), map.getSize());
Achten Sie auf die optionale zweite Parameter einstellen Konsole Fehler zu vermeiden wenn es keine Punkte auf der Karte gibt.
haben Sie versucht http://ol3js.org/en/master/apidoc/ol.control.ZoomToExtent.html – sfletche
@sfletche Das erwies sich als die richtige Antwort. Wenn Sie Ihren Kommentar zu einer Antwort ändern möchten, wähle ich ihn aus, um tolle Internet-Punkte zu erhalten. –