-
再生ボタン:トラッキングの開始
- 初期(init)・一時停止(pause)状態のときは、最初のポイントに移動する。
- すでに再生(play)状態の場合は何もしない。(二重起動防止)
- 地図移動処理(moveMapOnGpsData())を一定周期で起動するようにタイマー登録する。
$('#btnConsolePlay').live('click',function(){ if (gcurGpsDataPlayStatus == 'play') { return; // すでに再生中の場合は何もしない } else if (gcurGpsDataPlayStatus == 'init' || gcurGpsDataPlayStatus == 'stop'){ moveMapToFirst(); // 最初のポイントに移動 } //alert('play'); // タイマー設定:1000ミリ秒ごとにmoveMapOnGpsData()をコール gTimerId = setInterval('moveMapOnGpsData()',1000); gcurGpsDataPlayStatus = 'play' }); var gcurGpsDataIdx = 0; // どのGPSデータを地図の中心にするかのカウンタ function moveMapOnGpsData(){ gcurGpsDataIdx++; if (gcurGpsDataIdx < gGpsData.length) { gMap.panTo(new google.maps.LatLng( gGpsData[gcurGpsDataIdx].lat, gGpsData[gcurGpsDataIdx].lon)); // 地図中心を移動 showGridGpsInfoP(gcurGpsDataIdx); // 当該ポイントの情報を情報パネルに表示 } else { // 最後のポイントに到達 clearInterval(gTimerId); // タイマー解除 gcurGpsDataIdx = 0; // カウンタのクリア alert('max'); } }
停止ボタン:トラッキングの停止
- 再生・一時停止状態「以外」のときは何もしない。
- タイマーを解除する。カウンターをクリアする(=次回再生時は最初のポイントからになる)。
$('#btnConsoleStop').live('click',function(){ if (gcurGpsDataPlayStatus != 'play' && gcurGpsDataPlayStatus != 'pause') { return; } clearInterval(gTimerId); // タイマー解除 gcurGpsDataIdx = 0; // カウンタのクリア(次回再生時は最初のポイントから) alert('stop'); gcurGpsDataPlayStatus = 'stop'; });
一時停止ボタン:トラッキングの中断
- 再生状態「以外」のときは何もしない。
- タイマーを解除する。カウンタは保持する。
$('#btnConsolePause').live('click',function(){ if (gcurGpsDataPlayStatus != 'play') { return; // 再生中以外の場合は何もしない } clearInterval(gTimerId); // タイマー解除(再開時は新規設定するのでクリアする) alert('pause'); gcurGpsDataPlayStatus = 'pause'; });