ここまでの成果をまとめる。
- (1)GPSファイルを読み込み、内容をGoogle Mapsに表示する
- (2)地図の情報を情報パネルに表示する
(2)については、Google Mapsにイベントを追加し、地図が変化したとき(ファイルを読み込んだとき、ドラッグしたときなど)にリアルタイムで更新する。
// リスナーを追加:中心移動時にセンターマーカーを再描画(位置とタイトル)、情報パネル更新 google.maps.event.addListener(gMap, 'center_changed', function(){ var pos = gMap.getCenter(); gMarkerCenter.setPosition(pos); gMarkerCenter.setTitle('map center: ' + pos); // 情報パネル(Grid)の情報更新 setGridMapCenter(); }); // リスナーを追加:センターマーカー移動(ドラッグ完了)時に地図の中心を移動 google.maps.event.addListener(gMarkerCenter, 'dragend', function(){ gMap.panTo(gMarkerCenter.position); }); // リスナーを追加:センターマーカークリック時に情報ウィンドウを表示 google.maps.event.addListener(gMarkerCenter, 'click', function(){ var infoWindow = new google.maps.InfoWindow({ content: 'map center: ' + gMap.getCenter() }) infoWindow.open(gMap,gMarkerCenter); }); // リスナーを追加:その他地図に変化があった場合に情報パネルを更新 google.maps.event.addListener(gMap,'bounds_changed',function(){ setGridMapBounds(); }); // 表示領域の変化 google.maps.event.addListener(gMap,'zoom_changed',function(){ setGridMapZoom(); }); // ズームレベルの変化 google.maps.event.addListener(gMap,'maptypeid_changed',function(){ setGridMapMapType(); }); // 地図種類の変化