HTML 5のgeolocation

1644 ワード

1地理情報の取得:geolocation
地理的位置に関するAPIをサポートするブラウザにはnavigatorがある.geolocationプロパティ.このプロパティには3つの方法があります.
 
(1)現在位置情報の取得
navigator.geolocation.getCurrentPosition()

 
(2)現在位置情報およびその変化を監視し、位置情報が変化すると指定したコールバック関数を呼び出す.
navigator.geolocation.watchPosition()

 
(3)監視の取消し
navigator.geolocation.clearWatch()

 
地理的位置依存APIは非同期であるため、getCurrentPosition()およびwatchPosition()は、対応するコールバック関数をパラメータとして受け入れる必要がある.成功/失敗のコールバック関数に加えて、1つの構成オブジェクトをオプションの3番目のパラメータとして受け入れることもできます.このオブジェクトのプロパティは、高精度な位置情報、有効期限などの関連構成が必要かどうかを指定します.次の例を示します.
function success(position) {
  var coords = position.coords;
  console.log('Your current position is ' + coords.latitude + ' X ' + coords.longitude);
}

function error(err) {
  console.warn('ERROR(' + err.code + '): ' + err.message);
  //err               :
  //1:          
  //2:          
  //3:     
}

var options = {
  enableHighAccuracy: true/false, //           
  maximumAge: 300000,  //          ,   5    ,    0,            
  timeout: 15000  //        ,   15 ,       ,     
}

navigator.geolocation.getCurrentPosition(success, error, options);

 
上記の例では、成功したコールバック関数には、経度(position.cords.latitude)、緯度(position.cords.longitude)、精度値(position.cords.accuracy)、海抜(position.cords.altitude)などの現在の位置に関する情報が含まれるpositionパラメータがあります.速度(position.cords.speed)、方向(position.cords.heading)などの情報.