地図の中心に表示されるマーカー
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 +='<=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); }