इसी प्रकार की एक सरणी है लेता है मेरे साथ मामला मैंने GeoJson डेटा से मार्कर खींचा। तो मैंने फ़ंक्शन लिखा, जिसे बटन क्लिक पर बार-बार कहा जाता है। बस कोशिश करें कि यह आपकी आवश्यकताओं के अनुरूप है या नहीं।
function bestFitZoom()
{
// declaring the group variable
var group = new L.featureGroup;
// map._layers gives all the layers of the map including main container
// so looping in all those layers filtering those having feature
$.each(map._layers, function(ml){
// here we can be more specific to feature for point, line etc.
if(map._layers[].feature)
{
group.addLayer(this)
}
})
map.fitBounds(group.getBounds());
}
इस समारोह लेखन का सबसे अच्छा उपयोग है कि नक्शे/मार्कर की भी स्थिति परिवर्तित है, यह मार्कर/परतों के नवीनतम/वर्तमान स्थिति मिल जाएगा। जब भी यह विधि सभी परतों को बुलाया जाता है, तो मामूली ज़ूम स्तर पर दिखाई देगा।
स्रोत
2014-06-21 15:43:43
ठीक है, मदद के लिए धन्यवाद। तो अगर मिनट में मेरा कोड जो geoJSON परत जोड़ता है, जैसे दिखता है: geojsonLayer.addGeoJSON (jsonData); map.addLayer (geojsonLayer); map.fitBounds (jsonGroup.getBounds()); मैं इसे बदल दूंगा: geojsonLayer.addGeoJSON (jsonData); map.addLayer (geojsonLayer); var jsonGroup = नया एल। फीचर समूह (जेसनडाटा); map.fitBounds (jsonGroup.getBounds()); और यह काम करना चाहिए? – James
क्षमा करें, इसने उपरोक्त पोस्ट के सभी स्वरूपण को हटा दिया है और मुझे यकीन नहीं है कि जब मैं टिप्पणी को सहेजता हूं तो इसे कैसे संरक्षित किया जाए। – James
टिप्पणियों में डीबग करना बहुत मुश्किल है। क्या आप मुझे अपना कोड दिखाने के लिए http://jsfiddle.net पर अपना कोड पेस्ट कर सकते हैं (या कम से कम इसका हिस्सा)? – Jason