カテゴリー別アーカイブ: Geolocation API

Geolocation API

Geolocation APIの使い方を備忘録的に…

if (navigator.geolocation) {
    /**
      * getCurrentPositionの第1引数
      * @param {Geoposition} position
      */
    var successCallback =function(position){
         console.log(position.coords.latitude);          // 緯度
         console.log(position.coords.longitude);         // 経度
         console.log(position.coords.altitude);          // 高度
         console.log(position.coords.accuracy);          // 緯度・経度の精度
         console.log(position.coords.altitudeAccuracy);  // 高度の精度
         console.log(position.coords.heading);           // 方角 (0 ~ 360)
         console.log(position.coords.speed);             // 速度
    };

    /**
      * getCurrentPositionの第2引数 (省略可能)
      * @param {PositionError} code
      */
    var errorCallback = function(error) {
         switch (error.code) {
              case 0 :
                   console.error('原因不明のエラー');
                   break;
              case 1 :
                   console.error('ユーザーが位置情報の使用を許可しなかった');
                   break;
              case 2 :
                   console.error('電波状況が悪いなどの理由で, 現在位置を取得できなかった');
                   break;
              case 3 :
                   console.error('タイムアウト');
                   break;
              default :
                   break;
         }
    };

    // getCurrentPositionの第3引数 (省略可能)
    var options = {
        enableHighAccuracy : true,  // より精度の高い情報を取得するかどうか
        timeout : 10000,            // タイムアウト値 (ミリ秒)
        maximumAge : 60000          //  キャッシュ期間 (ミリ秒)
    };

    navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options);
} else {
    // Geolocation APIが利用できない場合
}