Чтобы узнать, что вызывает функция, используйте console.log (событие) и проверьте консоль инструментов разработчика:
google.maps.event.addListener(circle, 'click', function()
{
alert('circle clicked');
console.log(event);
});
У вас должно быть 2 события в списке (если они срабатывают дважды).Затем проверьте атрибут «srcElement» событий, чтобы увидеть, какой элемент вызвал функцию.
По аналогичной проблеме, с которой я столкнулся, я обнаружил, что прослушиватель событий карт Google недостаточно конкретен в отношении того, какой элемент будет вызыватьфункция.Поэтому я заменил прослушиватель событий карт Google на прослушиватель событий JQuery, чтобы сделать его более конкретным и указывать целевой элемент по его атрибуту ID.
Прослушиватель событий карт Google (запускается дважды)
google.maps.event.addDomListener(control, 'click', function() { toggleLabels(); });
Слушатель событий JQuery (запускается один раз)
$('body').on('click', '#labels-switch', function(){ toggleLabels(); });