OpenLayers'ta tüm yer paylaşımlarının kapsamını yakınlaştırır


10

Openlayers'da aşağıdaki gibi tüm katmanların sınırlayıcı kutusunu yakınlaştırabilirim:

map.zoomToExtent();

Ayrıca tek bir katmanın sınırlayıcı kutusunu da yakınlaştırabilirim:

map.zoomToExtent(layer_name.getDataExtent());

Taban katmanı dışındaki tüm katmanların kapsamını yakınlaştırmanın kolay bir yolu var mı? Diğer bir deyişle, tüm kaplamaların kapsamını gösterir.

Yanıtlar:


6
  1. tüm katmanlarınız üzerinde for-loop
    1. Temel katmanı atlayın [gereksiniminize göre]
    2. Her şeyi kapsayan sınırlar nesne API'sını oluşturmak için bounds.extend (...) kullanın
  2. Ortaya çıkan sınırlar API'sını yakınlaştırın

Bence bu işe yaramayacaktır, çünkü extends () yalnızca argüman olarak iletilenden daha küçük bir sınırda çağrıldığında çalışır.
pakman

Aynı şeyi OpenLayer API 3.x kullanarak nasıl başarabilirim
imdadhusen

@imdadhusen neden belgelere bakmıyorsunuz? aynı yöntem. aynı nesne. farklı ad alanı. openlayers.org/tr/v3.3.0/apidoc/ol.extent.html#extend
Vadim

1

map.restrictedExtent'i düzeltmeye ve map.zoomToExtent'i (map.restrictedExtent) çağırmaya ne dersiniz ?


Bu sadece sorunu hareket ettirir ... limitedtedExtent oluşturmak için bindirmelerin sınırlayıcı kutusunu nasıl bulabilirim?
Mr_Chimp

ZoomToMaxExtent () - ile denediniz mi, ancak daha büyükse büyük olasılıkla taban katmanı boyutunu yakınlaştırır mı? işe yaramazsa, her ovelays katmanı için kapsamı almanız ve en büyük düzeltmeyi kısıtlanmış Extent'te tutmanız gerekir.
simo

ZoomToMaxExtend () denedim ve temel katmanı yakınlaştırır. Benim sorumda bundan bahsettim ama tekrar okurken bu belli değil. En büyük sınırlayıcı kutunun tutulması her zaman işe yaramaz - örneğin, iki katman üst üste gelmezse. Sanırım her katmanın sınırlayıcı kutularını bir şekilde birleştirip ortaya çıkan nesnenin sınırlayıcı kutusunu
almalıyım

Bu kadar! Bu o kadar da zor değil ... Ama sana katılıyorum, böyle bir yöntemin henüz mevcut olmaması şaşırtıcı (veya bir şey kaçırdık ;-) ..)
simo

Umarım bir şey kaçırmış oluruz! Soruyu şimdilik açık bırakacağım ... ne olur ne olmaz!
Mr_Chimp
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.