2013-06-29 5 views
19

मैं स्कूल के लिए एक परियोजना बना रहा हूं और मुझे एक पुस्तिका पुस्तिका में ज़ूम स्तर के आधार पर मार्कर आइकन का आकार बदलने की आवश्यकता है, क्या इसे पूरा करने का कोई आसान तरीका है? वेब पर कोई ट्यूटोरियल? मदद के लिए अग्रिम धन्यवाद!!!क्या लीफलेट में ज़ूम स्तर के आधार पर मार्कर आइकन का आकार बदलने का कोई तरीका है?

उत्तर

20

जब आप ज़ूम इन/आउट करते हैं तो मार्करों के आकार को बदलने के लिए, आपको ईवेंट को संभालना होगा। जब भी नक्शा ज़ूम इन या आउट समाप्त हो गया है

map.on('zoomend', function() { }); 

zoomend घटना बुलाया जाएगा। एपीआई here देखें।

अब, इस फ़ंक्शन के अंदर, आप मार्कर के आकार को बदलने के लिए अपना कस्टम कोड कॉल कर सकते हैं। उदाहरण के लिए, मान लें कि आप एक साधारण दृष्टिकोण लेना चाहते हैं और नक्शे ज़ूम स्तर के आकार के बराबर एक सर्कल मार्कर का आकार सेट करना चाहते हैं। जब भी नक्शे में या ज़ूम आउट एक CircleMarker here

// Create some marker that will be resized on the map zooming 
var myMarker = new L.CircleMarker([10,10], { /* Options */ }); 

map.on('zoomend', function() { 
    var currentZoom = map.getZoom(); 
    myMarker.setRadius(currentZoom); 
}); 

के लिए API देखें अब, मार्कर के आकार बदल जाएगा।

+2

आप 'एल। सर्कलमार्कर 'को' L.circle' में बदलना चाहते हैं। जैसा कि मैंने समझा था कि 'एल। सर्कलमार्कर' का उपयोग सर्किलों के लिए किया जाता है, जो आकार को एन्कोडिंग को ज़ूमलेवल – Stophface

4

मुझे यकीन नहीं है कि स्टोफैस सर्कलमार्कर्स के आकार का आकार क्यों नहीं ले रहा है, लेकिन, अनुमोदित उत्तर में जोड़ रहा है ... यदि आप सर्कलमेकर का आकार बदलना चाहते हैं या किसी अन्य स्टाइल विकल्प को बदलना चाहते हैं (मुझे यह बदलने में मदद मिलती है त्रिज्या के साथ वजन), तो आपको निम्न दृष्टिकोण का उपयोग कर सकते हैं:

map.on('zoomend', function() { 
     var currentZoom = map.getZoom(); 
     var myRadius = currentZoom*(1/2); //or whatever ratio you prefer 
     var myWeight = currentZoom*(1/5); //or whatever ratio you prefer 
      layername.setStyle({radius: myRadius, weight: setWeight}); 
    }); 

layername जो कुछ परत आप जो circleMarkers शामिल है के नाम से बदल दिया जाएगा ... और निश्चित रूप से आप के लिए अंशों को बदल सकते हैं अपने अपनी जरूरतों को पूरा करने के लिए पसंद है।

मुझे लगता है कि ओपी की स्कूल परियोजना समाप्त हो रही है, लेकिन मुझे उम्मीद है कि इससे अन्य लोगों की मदद मिलती है!

+0

ओप्स में नहीं बदलना चाहिए ... इसका मतलब मूल उत्तर पर टिप्पणी के रूप में पोस्ट करना था ... पहली बार यहां ओवरफ्लॉवर! – juliabulia245

संबंधित मुद्दे