マップのすべてのマーカーを含む配列があります。MarkerClusterer を使用しても問題なくマップに配置できます。MarkerClusterer の addListener は問題なく動作しますが、マーカー addListener を取得してイベントをトリガーすることはできません。実際のコードは次のとおりです。
function initializeMap(markerArray) {
var latlng = new google.maps.LatLng(0.0, 0.0);
var mapOptions = {
zoom: 2,
maxZoom: 21,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var length = markerArray.length,
element = null;
for (var i = 0; i < length; i = i + 2) {
var latlng = new google.maps.LatLng(markerArray[i],markerArray[i+1]);
var marker = new google.maps.Marker({
map: map,
position: latlng,
title:'Click to zoom'
});
markers.push(marker);
}
google.maps.event.addListener(marker, 'onclick', function() {
alert("I have been clicked");
});
var markerCluster = new MarkerClusterer(map, markers);
google.maps.event.addListener(markerCluster, 'clusterclick', function(cluster) {
alert("I have been clicked");
});
}