はMarkerClusterer
、マーカーのマップがnull
クラスタ内にある場合に に設定し、マップに表示されないようにします。はMarkerClusterer
、マーカーのマップをmap
クラスター内に存在しなくなった時点に戻します。各マーカーを確認してみてください。
var mapOptions = { // Notice that mapZoom is not set
center: new google.maps.LatLng( 19, 19 ),
mapTypeId: google.maps.MapTypeId.ROADMAP };
map = new google.maps.Map( document.getElementById( "map_canvas" ), mapOptions );
var markerClusterer = new MarkerClusterer( map, markers, { ... });
//Whenever the map completes panning or zooming, the function will be called:
google.maps.event.addListener( map, "idle", function() {
for ( var i = 0; i < markers.length; i++ ) {
var mrkr = markers[i];
if ( mrkr.getMap() != null ) {
mrkr.infobox.open();
}
else {
mrkr.infobox.close();
}
}
}
//Now that map, markerClusterer, and the "idle" event callback are in place,
//set the zoom, which will trigger the "idle" event callback
//after the zoom activity completes,
map.setZoom( 19 ); //Or whatever is appropriate
//Thereafter, the callback will run after any pan or zoom...
明らかに、マーカーの状態は、ズームイン、ズームアウト、またはその他のビューポートの変更後に変更される可能性が高いため、ビューポートの変更後に再確認する必要があります。