HTML 5のgeolocation
1644 ワード
1地理情報の取得:geolocation
地理的位置に関するAPIをサポートするブラウザにはnavigatorがある.geolocationプロパティ.このプロパティには3つの方法があります.
(1)現在位置情報の取得
(2)現在位置情報およびその変化を監視し、位置情報が変化すると指定したコールバック関数を呼び出す.
(3)監視の取消し
地理的位置依存APIは非同期であるため、getCurrentPosition()およびwatchPosition()は、対応するコールバック関数をパラメータとして受け入れる必要がある.成功/失敗のコールバック関数に加えて、1つの構成オブジェクトをオプションの3番目のパラメータとして受け入れることもできます.このオブジェクトのプロパティは、高精度な位置情報、有効期限などの関連構成が必要かどうかを指定します.次の例を示します.
上記の例では、成功したコールバック関数には、経度(position.cords.latitude)、緯度(position.cords.longitude)、精度値(position.cords.accuracy)、海抜(position.cords.altitude)などの現在の位置に関する情報が含まれるpositionパラメータがあります.速度(position.cords.speed)、方向(position.cords.heading)などの情報.
地理的位置に関する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)などの情報.