OpenLayers में सभी ओवरले की सीमा तक ज़ूम इन करें


10

Openlayers में मैं इस तरह से सभी परतों के बाउंडिंग बॉक्स पर ज़ूम कर सकता हूं:

map.zoomToExtent();

मैं सिंगल लेयर के बाउंडिंग बॉक्स पर भी ज़ूम कर सकता हूँ:

map.zoomToExtent(layer_name.getDataExtent());

क्या आधार परत को छोड़कर सभी परतों की सीमा तक ज़ूम करने का एक आसान तरीका है? दूसरे शब्दों में सभी ओवरले की सीमा को दर्शाता है।

जवाबों:


6
  1. अपनी सभी परतों के लिए पाश
    1. आधार परत छोड़ें [अपनी आवश्यकता के अनुसार]
    2. ऑल-इनकमिंग सीमा ऑब्जेक्ट API बनाने के लिए bounds.extend (...) का उपयोग करें
  2. परिणामी सीमा API पर ज़ूम करें

मुझे लगता है कि यह काम नहीं करेगा, क्योंकि फैली हुई () केवल तभी काम करती है जब इसे तर्क के रूप में पारित होने की तुलना में छोटे सीमा पर बुलाया जाता है।
पकमन

मैं
OpenLayer

@imdadhusen आप सिर्फ दस्तावेज क्यों नहीं देखेंगे? एक ही विधि। एक ही वस्तु। विभिन्न नामस्थान। Openlayers.org/en/v3.3.0/apidoc/ol.extent.html#extend
वादिम

1

map.restrictedExtent और call map.zoomToExtent (map.restrictedExtent) को ठीक करने के बारे में क्या ?


यह सिर्फ समस्या को आगे बढ़ाएगा ... मुझे प्रतिबंधित एसेक्स को बनाने के लिए ओवरले के बाउंडिंग बॉक्स का पता कैसे चलेगा?
Mr_Chimp 14

क्या आपने ZoomToMaxExtent () के साथ प्रयास किया है - लेकिन यह बड़ा होने पर बेस लेयर की सीमा तक ज़ूम करेगा? अगर यह काम नहीं करता है तो आपको प्रत्येक ओले की परतों के लिए हद तक पुनः प्राप्त करना होगा और प्रतिबंधित सबसे अच्छा को ठीक करने के लिए रखना होगा।
simo

मैंने ZoomToMaxExtend () की कोशिश की और यह बेस लेयर को ज़ूम करता है। मैंने अपने प्रश्न में इसका उल्लेख किया है, लेकिन फिर से स्पष्ट नहीं है। सबसे बड़ी बाउंडिंग बॉक्स को रखना जरूरी नहीं होगा - यानी अगर दो परतें ओवरलैप नहीं होती हैं। मुझे लगता है कि मुझे किसी न किसी परत के बाउंडिंग बॉक्स को किसी तरह
मिलाना होगा

बस! जो मुश्किल नहीं है ... लेकिन मैं आपसे सहमत हूं, यह आश्चर्य की बात है कि इस तरह की विधि अभी तक मौजूद नहीं है (या हम कुछ चूक गए ;-) ..)
simo

अच्छी तरह से उम्मीद है कि हम कुछ याद किया है! मैं सवाल अभी के लिए खुला छोड़ दूँगा ... बस मामले में!
Mr_Chimp
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.