地図の中心に表示されるマーカー

http://map.hatena.ne.jp/js/map.js
にアクセスすると, はてなマップで使われている関数が見られます.
勉強になります.

1. moveendイベントをキャッチ

GEvent.addListener(map, 'moveend', function() {
		if (infowindowStatus == 0 && travelMode == 0) {
			placeMarkers();
		}
});

2. placeMarkers()を実行

function placeMarkers() {
    setLinkToMap();
    placeCenterMarker();
	var b = get_bounds();
	var args = 'minX='+b.minX+'&maxX='+b.maxX+'&minY='+b.minY+'&maxY='+b.maxY;
	args +='&lt=20';
    fotoArray = placeMapObject('/fotolist?mode=xml&'+args,fotoArray);
    keywordArray = placeMapObject('/keywordlist?mode=map&'+args,keywordArray);
    trackbackArray = placeMapObject('/trackbacklist?mode=xml&'+args,trackbackArray);

    var rss = document.getElementById('rss');
    rss.href = '/rss?maxX=' + b.maxX + '&maxY=' + b.maxY + '&minX=' + b.minX + '&minY=' + b.minY;
}

3. placeCenterMarker()を実行

function placeCenterMarker() {
	var p = map.getCenterLatLng();
	if (centerMarker) {
		map.removeOverlay(centerMarker);
	}
	centerMarker = new GMarker(p, centerIcon);
	map.addOverlay(centerMarker);
}