除了其他两个 Cluster类'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)。进行编辑后,您可以使用UglifyJS_packed.js重新创建版本,方法是剪切 n' 并将其粘贴到此站点中。我已经使用过它并且效果很好(原始的 30.6%)。
有关如何修复该脚本中的'mouseover'和'mouseout'事件的详细信息,请参阅我的其他SO 帖子。