W OpenLayers powiększ zakres wszystkich nakładek


10

W Openlayers mogę powiększyć obwiednię wszystkich warstw w następujący sposób:

map.zoomToExtent();

Mogę również powiększyć obwiednię pojedynczej warstwy:

map.zoomToExtent(layer_name.getDataExtent());

Czy istnieje prosty sposób powiększania w zakresie wszystkich warstw oprócz warstwy podstawowej? Innymi słowy, pokazując zasięg wszystkich nakładek.

Odpowiedzi:


6
  1. pętla for na wszystkich twoich warstwach
    1. Pomiń warstwę podstawową [zgodnie z wymaganiami]
    2. Użyj bounds.extend (...), aby zbudować wszechstronny interfejs API obiektu granic
  2. Powiększ do wynikowego interfejsu API granic

Myślę, że to nie zadziała, ponieważ extends () działa tylko wtedy, gdy jest wywoływany w mniejszych granicach niż ten, który jest przekazywany jako argument.
pakman

Jak mogłem osiągnąć to samo, używając OpenLayer API 3.x
imdadhusen

@imdadhusen dlaczego po prostu nie przejrzałbyś dokumentacji? ta sama metoda. ten sam obiekt. inna przestrzeń nazw. openlayers.org/en/v3.3.0/apidoc/ol.extent.html#extend
Vadim

1

co z naprawieniem map.restrictedExtent i wywołaniem map.zoomToExtent (map.restrictedExtent) ?


To po prostu poruszyłoby problem ... Jak mogę znaleźć obwiednię nakładek, aby utworzyć ograniczony zakres?
Mr_Chimp

próbowałeś z ZoomToMaxExtent () - ale prawdopodobnie powiększałby się do zakresu warstwy podstawowej, gdyby był większy? jeśli to nie zadziała, musisz pobrać zasięg dla każdej z warstw jaj i zachować największą, aby naprawić ograniczonyExtent.
simo

Próbowałem ZoomToMaxExtend () i przybliża się do warstwy podstawowej. Wspomniałem o tym w moim pytaniu, ale przy ponownym czytaniu nie jest to oczywiste. Zachowanie największego obwiedni niekoniecznie zadziałałoby - tzn. Jeśli dwie warstwy nie zachodzą na siebie. Chyba będę musiał jakoś połączyć ramki ograniczające każdej warstwy, a następnie uzyskać ramkę ograniczającą wynikowego obiektu ...
Mr_Chimp

Otóż ​​to! Co nie jest takie trudne ... Ale zgadzam się z tobą, to zaskakujące, że taka metoda jeszcze nie istnieje (lub coś przeoczyliśmy ;-) ..)
simo

Mam nadzieję, że coś przeoczyliśmy! Na razie pozostawię pytanie otwarte ... na wszelki wypadek!
Mr_Chimp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.