HTML 5 Geolocation(地理的位置)は、ユーザの位置を特定するために使用される.

4297 ワード

一、
ユーザの位置を特定するHTML 5 Geolocation APIは、ユーザの地理的位置を取得するために使用される.この特性は、ユーザが同意しない限り、ユーザのプライバシーを侵害する可能性があるため、ユーザ位置情報は利用できない.ブラウザはInternet Explorer 9、Firefox、Chrome、Safari、Operaをサポートし、地理的位置付けをサポートします.注記:GPSを持つデバイス、例えばiPhoneについては、地理的な位置付けがより正確です.HTML 5-地理的位置を使用するにはgetCurrentPosition()メソッドを使用してユーザーの位置を取得します.
二、
HTML 5 Geolocation APIは、新しい地理的アプリケーションインタフェースです.ブラウザ・ユーザーの現在の地理的位置を正確に感知する方法を提供します.ブラウザがサポートし、デバイスが位置決め機能を有する場合、このAPIを直接使用して現在の位置情報を取得することができる.
window.navigator.geolocationオブジェクトには3つの方法があります:1.getCurrentPositionは現在の地理的位置2を取得する.watchPosition監視位置情報3.clearWatch位置情報取得停止
1ブラウザのサポート
エクスプローラ
説明
IE
gearsプラグインによるサポート
FireFox
3.5以降のサポート
Opera
10以降のサポート
Chrome
2.0以降のサポート
Safari
4.0以降のサポート
2ブラウザがサポートされているかどうかを検出
function supportGeolocation() {
    return 'geolocation' in navigator;
}

3現在の地理的位置getCurrentPositionの取得
このgetCurrentPosition(successCallback,onError,options)法は、1つ、2つまたは3つのパラメータを受け入れる.1番目のパラメータは、現在の地理的位置情報の取得に成功したときに実行されるコールバック関数、2番目のパラメータは、現在の地理的位置情報の取得に失敗したときに実行されるコールバック関数、3番目のパラメータは、いくつかのオプション属性のリストです.ここで、2番目、3番目のパラメータはオプションです.
navigator.geolocation.getCurrentPosition(function(position) {
    //TODO         
    var timestamp = position.timestamp;
    var coords = position.coords;
    console.log(timestamp);
    console.log(coords);
}, function(error) {
    //TODO         
    console.log(error);
}, {
    maximumAge: 0
});

1番目のパラメータは、地理的位置情報の取得に成功したときに実行されるコールバック関数に、Geopositionオブジェクトであるpositionパラメータがあります.このオブジェクトには、次の2つのプロパティがあります.
timestampプロパティ、タイムスタンプ.coords属性、coords属性はCoordinatesタイプのオブジェクトで、以下の属性を含む:1.accuracyで取得した経度または緯度の精度(メートル単位).2.altitudeの現在の地理的位置の標高(取得できない場合はnull).3.altitudeAccuracyが取得した標高の精度(メートル単位).4.headingデバイスの進行方向.真北に向かう時計回りの回転角度で表します(取得できない場合はnull).5.latitude現在の地理的位置の経度.6.longitude現在の地理的位置の緯度7.speedの現在の前進速度(m/秒単位、取得できない場合null).
2番目のパラメータは、地理的位置情報の取得に失敗したときに実行されるコールバック関数に、PositionErrorオブジェクトであるerrorパラメータがあります.このオブジェクトには、次の2つのプロパティがあります.
code属性、可能な値:1.属性値が1の場合、ユーザーがロケーションサービスを拒否したことを示します.「User denied Geolocation」です.2.属性値が2の場合、位置情報が取得できないことを示す「Timeout expired」.3.属性値が3の場合、取得情報のタイムアウトエラーを示します.Messageプロパティmessageプロパティ値は文字列で、エラー情報が含まれています.このエラー情報は、開発およびデバッグ時に非常に役立ちます.
3番目のパラメータは、次のようなオプション属性のリストです.
enableHighAccuracyプロパティは、高精度な地理的位置情報が必要かどうかです.timeoutプロパティ、タイムアウト制限(ミリ秒単位).この時間内に地理的位置情報が取得されていない場合は、エラーが返されます.maximumAgeプロパティは、地理的位置情報をキャッシュする有効時間(ミリ秒単位)です.この値が0に設定されている場合、地理的位置情報は毎回再取得されます.
4地理情報の監視watchPosition
watchPosition(successCallback,errorCallback,options)メソッドを使用して、ユーザの地理的位置情報を定期的に取得できます.この方法の使用方法はgetCurrentPosition法と同様であり,ここでは詳細に説明しない.このメソッドを呼び出すと、setIntervalメソッドの戻り値と同様にclearWatchメソッドで使用する、現在の地理的位置情報の監視を停止する数値が返されます.
5位置情報の取得を停止するclearWatch
clearWatchメソッドを使用すると、現在のユーザーの地理的位置情報の監視を停止できます.使用法は次のとおりです.
navigator.geolocation.clearWatch(watchId);

パラメータwatchIdは、watchPositionメソッドを呼び出すときの戻り値です.