OpenLayers 2 имаше много полезна map.zoomToExtent(extent)
функция. Има ли нещо подобно в OpenLayers 3? Мога да получа степента на интерес с source.getExtent()
, но не мога да разбера как да приложа тази степен като „ниво на увеличение“.
ZoomToExtent OpenLayers 3
comment
пробвал ли си ol3js.org/en/master/apidoc/ol.control .ZoomToExtent.html
- person sfletche   schedule 15.05.2014
comment
@sfletche Това се оказа правилният отговор. Ако искате да промените коментара си в отговор, ще го избера, за да можете да получите страхотни интернет точки.
- person Tyler DeWitt   schedule 16.05.2014
Отговори (3)
Излизане от функцията sfletche, свързана с:
var extent = source.getExtent();
map.getView().fitExtent(extent, map.getSize());
РЕДАКТИРАНЕ на 23 юли 2013 г.
Очевидно fitExtent
е отхвърлен. Трябва да бъде ol.View.fit
, така че нещо свързва това (нетествано):
var extent = source.getExtent();
map.getView().fit(extent, map.getSize());
person
Tyler DeWitt
schedule
16.05.2014
благодаря за кредита @tylerdewitt. Бях твърде бавен, за да отговоря, така че вместо това ще ви дам няколко интернет точки. :)
- person sfletche; 17.05.2014
fitExtent() на View изглежда е остарял в 3.4
- person user1702401; 15.04.2015
Той е заменен с
ol.View.fit
в 3.7.
- person 0xcaff; 23.07.2015
map.getSize() не е задължителен, това е стойността по подразбиране.
- person Toilal; 15.06.2017
Здрасти. Опитвам се с
this.olmap.getView().fit(ext, size, [0, 0, 0, 0], true, false, 0, 15, 2000);
да направя увеличението плавно и анимирано. И все още не е плавен или анимиран. Някакви идеи? Благодаря (това е OL5)
- person slevin; 04.08.2018
@slevin знам, че това е старо, но вероятно ще ви трябва view.animate() с пример на openlayers.org/en/latest/examples/animation.html и документи на openlayers.org/en/latest/apidoc/
- person Andrew T; 08.02.2019
С OpenLayers 4.x това все още е валидно решение:
map.getView().fit(source.getExtent(), map.getSize());
Уверете се, че сте задали незадължителния втори параметър, за да предотвратите грешки в конзолата, ако няма точки на картата.
person
Naderio
schedule
02.02.2018
С OpenLayers 4.x намерих следните методи за полезни:
map.getView().setCenter([x, y]);
map.getView().setZoom(z);
където x
, y
, z
са координатите, до които искате да увеличите.
person
juminet
schedule
12.10.2018