2017-06-26 3 views

答えて

4

diagnostic pluginには、GPSモード、位置の状態などを確認するための多くの機能が付いています。詳細については、付属のリンクを確認してください。

import { Diagnostic } from '@ionic-native/diagnostic'; 

constructor(private diagnostic: Diagnostic) { } 

... 

let successCallback = (isAvailable) => { console.log('Is available? ' + isAvailable); }; 
let errorCallback = (e) => console.error(e); 

this.diagnostic.isLocationEnabled().then(successCallback).catch(errorCallback); 

// only android 
this.diagnostic.isGpsLocationEnabled().then(successCallback, errorCallback); 

また、軽量であるlocation-accuracyプラグインを使用することができますが、それは診断プラグインで利用可能な他のオプションが欠落しています。私は現在このプラグインを使用してAndroidでgpsを有効にし、モードを設定しています。このプラグインのドキュメントも見てみることをお勧めします。

+0

ありがとうございます非常に多くのAlberick0;)! –

1

私はあなたがが必要なもののために極端な過剰となる可能性がある、このプラグイン http://devfanaticblog.com/background-geolocation-with-apache-cordova/ cordova plugin add cordova-plugin-mauron85-background-geolocation

と幸運を持っていました。 getcurrentposition()を呼び出して、有効な結果が得られたかどうかを確認するだけです。

navigator.geolocation.getCurrentPosition(success[, error[, options]])

私はiPhoneのは、それをどのように扱うかは確かではないけど、アンドロイドは現在、実に邪悪なことができます。あなたがそれを使用するように頼んだら、あなたのGPSに許可を与えるように促されるからです。彼らがnoを選択した場合、それは有効にできますが、利用できません。あなたはまた、あなたがどの程度の精度を得ているか簡単には分かりません。 GPSの場所の代わりにWi-Fiまたはモバイルの場所を取得している可能性があります。

このプラグインはこれらすべてのシナリオを対象としていますが、アンドロイドエミュレータでは正しく動作しない奇妙なバグがあります。

関連する問題