पर क्लिक श्रोता जोड़ें मैं वेबपैलिकेशन पर काम कर रहा हूं। मेरे पास एक Google मानचित्र है, जहां मैं एक सरणी से बहुभुज जोड़ता हूं। मैं उस सरणी के माध्यम से लूप और नक्शे पर बहुभुज जोड़ें। मैं भी बहुभुज क्लिक करने के लिए एक घटना श्रोता जोड़ सकते हैं और बहुभुजGoogle मानचित्र: प्रत्येक बहुभुज
यह की स्थिति सचेत करने के लिए मैं
map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
//Loop on the polygonArray
for (var i = 0; i < polygonArray.length; i++) {
//Add the polygon
var p = new google.maps.Polygon({
paths: polygonArray[i],
strokeWeight: 0,
fillColor: '#FF0000',
fillOpacity: 0.6,
indexID: i
});
p.setMap(map);
//Add the click listener
google.maps.event.addListener(p, 'click', function (event) {
//alert the index of the polygon
alert(p.indexID);
});
}
समस्या
बहुभुज सब सही ढंग से बना रहे हैं क्या कर रहा है की जरूरत है । हालांकि समस्या यह है कि जब मैं बहुभुज पर क्लिक करने का प्रयास करता हूं तो यह हमेशा अंतिम सूचकांक दिखाता है। ऐसा लगता है कि यह केवल अंतिम बहुभुज पर क्लिक किया गया है। मुझे लगता है कि जब मैं एक नया श्रोता जोड़ता हूं तो यह पुराने को ओवरराइड करता है। सही सूचकांक को अलर्ट करने के लिए मैंने प्रत्येक बहुभुज के लिए श्रोता कैसे जोड़ा जा सकता है?
धन्यवाद
[प्रत्येक बहुभुज गूगल मैप्स V3 के लिए खुला है InfoWindow] (के संभावित डुप्लिकेट http://stackoverflow.com/questions/13017915/open-infowindow-for-each-polygon-google-maps- v3) – geocodezip
इस मुद्दे का सार यह है कि वही 'p' सभी 'functi द्वारा साझा किया जाता है ऑन (इवेंट) 'लूप ब्लॉक_ के रूप में अच्छी तरह बंद हो जाता है। इस प्रकार, लूप निष्पादित होने पर 'पी' अंतिम बनाए गए बहुभुज से बंधे होते हैं। वे चर को अलग करने के लिए 'polygonArray.forEach' का उपयोग करेंगे। –