见这里:https ://developers.google.com/maps/documentation/javascript/events#EventArguments
google.maps.event.addListener(map, 'click', function(event) { placeMarker(event.latLng); });
事件回调的第一个参数是事件对象。在您的情况下,它将是:
google.maps.event.addListener(mc, "clusterclick", function (cluster) {
cluster.stopPropagation();
});
由于这是一个自定义事件并且程序员没有将事件对象作为参数传递,您的解决方案是自己实现它:
来自http://code.google.com/p/google-maps-utility-library-v3/source/browse/trunk/markerclustererplus/src/markerclusterer.js?r=362的第 150 和 151 行:
从:
google.maps.event.trigger(mc, "click", cClusterIcon.cluster_);
google.maps.event.trigger(mc, "clusterclick", cClusterIcon.cluster_); // deprecated name
至:
google.maps.event.trigger(mc, "click", e, cClusterIcon.cluster_);
google.maps.event.trigger(mc, "clusterclick", e, cClusterIcon.cluster_); // deprecated name
注意e
作为第三个参数。这是在第 139行调用这 2 行的原始事件中的事件对象:
google.maps.event.addDomListener(this.div_, "click", function (e) {