1

マップのすべてのマーカーを含む配列があります。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");
});

}

4

1 に答える 1

3

最後のマーカーにのみクリックリスナーがあります(少なくとも投稿したコードには)。

作業中のマーカークラスターの例

于 2012-12-15T00:46:22.717 に答える