Я работаю над веб-приложением. У меня есть карта 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);
});
}
Проблема
Полигоны рисуются правильно. Однако проблема в том, что когда я пытаюсь щелкнуть по полигону, он всегда показывает последний индекс. это похоже на то, что он нажимает только на последний добавленный полигон. Я думаю, что когда я добавляю нового слушателя, он переопределяет старый. Как добавить слушателя для каждого добавленного полигона, чтобы предупредить правильный индекс?
Спасибо