2014-05-15 13 views
18

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

+1

haben Sie versucht http://ol3js.org/en/master/apidoc/ol.control.ZoomToExtent.html – sfletche

+0

@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. –

Antwort

43

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()); 
+0

danke für den Kredit @tylerdewitt. Ich war zu langsam um zu antworten, also gebe ich dir stattdessen ein paar Internet-Punkte. :) – sfletche

+0

Wirklich großartige Lösung. Es löste auch mein Problem – imdadhusen

+0

Views fitExtent() scheint in 3.4 – user1702401

0

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.