2012-06-30 12 views
8

आवश्यकताएं: जब ग्राहक मार्कर पर क्लिक करता है तो पत्रक जेएस मानचित्र एपीआई का उपयोग करके, मार्कर के अनुसार केंद्रित एक आयत मार्कर के नीचे खींचा जाना चाहिए। फिर किसी अन्य मार्कर पर क्लिक करना पिछले आयतों को हटा देना चाहिए और नए क्लिक किए गए मार्कर के नीचे एक और आयत खींचना चाहिए।मानचित्र से पॉलीगॉन निकालें

समस्या: मैं बहुभुज खींचने के लिए नीचे दिए गए कोड का उपयोग कर रहा हूं और मैं एक आयताकार देख सकता हूं। और यह एक मार्कर पर आयताकार खींचता है। फिर किसी अन्य मार्कर पर क्लिक करके एक नया आयताकार खींचा जा रहा है। लेकिन पुराना आयताकार अभी भी मौजूद है।

प्रश्न: मुझे व्यवहार को कैसे लागू करना चाहिए, ताकि जब नए मार्कर पर क्लिक किया जाए, तो पुराना आयत मानचित्र से हटा दिया जाएगा?

//polygon 

var latBlockSize = 0.002; 
var lngBlockSize = 0.002; 
var route = [ 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize), 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize), 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize), 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize) 
    ]; 

window.polygon = new L.Polygon(route); 

window.map.addLayer(window.polygon); 

उत्तर

15

मैंने इसे अपने आप से बाहर निकाला।

window.map.removeLayer(window.polygon); 
+0

L.rectangle साथ काम करता है। –

1

कि रूप में अच्छी तरह काम कर रहा है, पत्रक 1.2.0 के साथ परीक्षण किया:

यह समाधान था।

window.polygon.remove()

भी
+0

बस मेरे अपडेट लूप के अंदर, मुझे जो चाहिए था। मैं प्रत्येक पाश में एक और जोड़ रहा था। अब मैं एक नया बनाने से पहले पहले हटा देता हूं। – radbyx

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