Я просто была такая же проблема с 'click'
событием в дополнение к двум событиям класса Кластерный 'mouseover'
и 'mouseout'
. В файле markerclusterer.js
есть ошибка в последней версии 2.0.15. Для того, чтобы получить его, чтобы запустить 'click'
события, изменить markerclusterer.js
следующим образом:
Найти эту строку:
google.maps.event.addDomListener(this.div_, "click", function (e) {
И ниже его изменить:
var mc = cClusterIcon.cluster_.getMarkerClusterer();
google.maps.event.trigger(mc, "click", cClusterIcon.cluster_);
google.maps.event.trigger(mc, "clusterclick", cClusterIcon.cluster_); // deprecated name
к этому:
var c = cClusterIcon.cluster_;
var mc = c.getMarkerClusterer();
google.maps.event.trigger(c, "click", cClusterIcon.cluster_);
google.maps.event.trigger(c, "clusterclick", cClusterIcon.cluster_); // deprecated name
Вот и все!
Не забудьте изменить оба сценария markerclusterplus (markerclusterer.js
и markerclusterer_packed.js
). После того, как вы сделаете редактирование, вы можете воссоздать версию _packed.js
, используя UglifyJS, вырезав ее в этот сайт. Я уже использовал это, и он отлично работает (30,6% от оригинала).
Подробнее о том, как исправить события 'mouseover'
и 'mouseout'
в этом скрипте, см. В моем другом SO post.
у меня последняя версия 2.1.2 со всеми кода, реализованного в там, но до сих пор не могут поймать '' click' или clusterclick 'event :( – artuska