このプラグインは緯度や経度などのデバイスの場所に関する情報を提供します。 位置情報の共通のソースはグローバル ポジショニング システム (GPS) と IP アドレス、RFID、WiFi および Bluetooth の MAC アドレス、および GSM/cdma 方式携帯 Id などのネットワーク信号から推定される場所にもあります。 API は、デバイスの実際の場所を返すことの保証はありません。
この API はW3C 地理位置情報 API 仕様に基づいており、既に実装を提供しないデバイス上のみで実行します。
警告: 地理位置情報データの収集と利用を重要なプライバシーの問題を発生させます。 アプリのプライバシー ポリシーは他の当事者とデータ (たとえば、粗い、罰金、郵便番号レベル、等) の精度のレベルでは共有されているかどうか、アプリが地理位置情報データを使用する方法を議論すべきです。 地理位置情報データと一般に見なされる敏感なユーザーの居場所を開示することができますので、彼らの旅行の歴史保存されている場合。 したがって、アプリのプライバシー ポリシーに加えて、強くする必要があります (デバイス オペレーティング システムしない場合そう既に)、アプリケーションに地理位置情報データをアクセスする前に - 時間のお知らせを提供します。 その通知は、上記の (例えば、 [ok]をおかげで選択肢を提示する) によってユーザーのアクセス許可を取得するだけでなく、同じ情報を提供する必要があります。 詳細については、プライバシーに関するガイドを参照してください。
このプラグインは、グローバル navigator.geolocation
オブジェクト (プラットフォーム行方不明ですそれ以外の場合) を定義します。
オブジェクトは、グローバル スコープでですが、このプラグインによって提供される機能は、deviceready
イベントの後まで使用できません。
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { console.log("navigator.geolocation works well"); }
cordova plugin add cordova-plugin-geolocation
Position
オブジェクトを geolocationSuccess
コールバックにパラメーターとしてデバイスの現在位置を返します。 エラーがある場合 geolocationError
コールバックには、PositionError
オブジェクトが渡されます。
navigator.geolocation.getCurrentPosition(geolocationSuccess, [geolocationError], [geolocationOptions]);
geolocationSuccess: 現在の位置を渡されるコールバック。
geolocationError: *(省略可能)*エラーが発生した場合に実行されるコールバック。
geolocationOptions: *(オプション)*地理位置情報のオプションです。
// onSuccess Callback // This method accepts a Position object, which contains the // current GPS coordinates // var onSuccess = function(position) { alert('Latitude: ' + position.coords.latitude + '\n' + 'Longitude: ' + position.coords.longitude + '\n' + 'Altitude: ' + position.coords.altitude + '\n' + 'Accuracy: ' + position.coords.accuracy + '\n' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 'Heading: ' + position.coords.heading + '\n' + 'Speed: ' + position.coords.speed + '\n' + 'Timestamp: ' + position.timestamp + '\n'); }; // onError Callback receives a PositionError object // function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } navigator.geolocation.getCurrentPosition(onSuccess, onError);
位置の変更が検出された場合は、デバイスの現在位置を返します。 取得されると、デバイスの新しい場所、geolocationSuccess
コールバック パラメーターとして 位置
オブジェクトを実行します。 エラーがある場合、geolocationError
コールバック パラメーターとして PositionError
オブジェクトで実行します。
var watchId = navigator.geolocation.watchPosition(geolocationSuccess, [geolocationError], [geolocationOptions]);
geolocationSuccess: 現在の位置を渡されるコールバック。
geolocationError: (省略可能) エラーが発生した場合に実行されるコールバック。
geolocationOptions: (オプション) 地理位置情報のオプションです。
navigator.geolocation.clearWatch
停止位置の変化を監視します。// onSuccess Callback // This method accepts a `Position` object, which contains // the current GPS coordinates // function onSuccess(position) { var element = document.getElementById('geolocation'); element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' + 'Longitude: ' + position.coords.longitude + '<br />' + '<hr />' + element.innerHTML; } // onError Callback receives a PositionError object // function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } // Options: throw an error if no update is received every 30 seconds. // var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 30000 });
地理位置情報 の位置
の検索をカスタマイズするための省略可能なパラメーター.
{ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true };
enableHighAccuracy: 最高の結果が、アプリケーションに必要があることのヒントを示します。 既定では、デバイスの取得を試みます、 Position
ネットワーク ベースのメソッドを使用します。 このプロパティを設定する true
衛星測位などのより正確な方法を使用するためにフレームワークに指示します。 (ブール値)
タイムアウト: への呼び出しから通過が許可される時間 (ミリ秒単位) の最大長 navigator.geolocation.getCurrentPosition
または geolocation.watchPosition
まで対応する、 geolocationSuccess
コールバックを実行します。 場合は、 geolocationSuccess
この時間内に、コールバックは呼び出されません、 geolocationError
コールバックに渡される、 PositionError.TIMEOUT
のエラー コード。 (と組み合わせて使用するときに注意してください geolocation.watchPosition
の geolocationError
間隔でコールバックを呼び出すことができますすべて timeout
ミリ秒 !)(数)
maximumAge: 年齢があるミリ秒単位で指定した時間よりも大きくないキャッシュされた位置を受け入れます。(数)
enableHighAccuracy
オプションが true
に設定しない限り、アンドロイド 2.x エミュレーター地理位置情報の結果を返さない.
watchID
パラメーターによって参照される、デバイスの場所への変更を見て停止します。
navigator.geolocation.clearWatch(watchID);
watchPosition
をクリアする間隔。(文字列)// Options: watch for changes in position, and use the most // accurate position acquisition method available. // var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { enableHighAccuracy: true }); // ...later on... navigator.geolocation.clearWatch(watchID);
Position
座標と地理位置情報 API で作成されたタイムスタンプが含まれます。
coords: 地理的座標のセット。(座標)
timestamp: 作成のタイムスタンプを coords
。(日)
Coordinates
のオブジェクトは現在の位置のための要求でコールバック関数に使用する Position
オブジェクトにアタッチされます。 位置の地理座標を記述するプロパティのセットが含まれています。
latitude: 10 度緯度。(数)
longitude: 10 進度の経度。(数)
altitude: 楕円体上のメートルの位置の高さ。(数)
accuracy: メートルの緯度と経度座標の精度レベル。(数)
altitudeAccuracy: メートルの高度座標の精度レベル。(数)
headingし: 進行方向、カウント、真北から時計回りの角度で指定します。(数)
speed: 毎秒メートルで指定されたデバイスの現在の対地速度。(数)
altitudeAccuracy: null
を返すことの Android デバイスでサポートされていません.
altitudeAccuracy: null
を返すことの Android デバイスでサポートされていません.
PositionError
オブジェクト navigator.geolocation でエラーが発生したときに geolocationError
コールバック関数に渡されます。
code: 次のいずれかの定義済みのエラー コード。
message: 発生したエラーの詳細を説明するエラー メッセージ。
PositionError.PERMISSION_DENIED
PositionError.POSITION_UNAVAILABLE
PositionError.TIMEOUT
timeout
に含まれている geolocationOptions
。 使用すると navigator.geolocation.watchPosition
、このエラーが繰り返しに渡すことが、 geolocationError
コールバックごと timeout
(ミリ秒単位)。