ネイティブイオニック2ジオロケーションプラグインを使用していて、期待通りに機能しません。まず、プラグインを追加します。ネイティブイオン2ジオロケーションはアンドロイドデバイスでは機能しません
ionic plugin add cordova-plugin-geolocation
次に、プラグインをインポートして、現在の位置を取得するための呼び出しを発行します。
import { Geolocation } from 'ionic-native';
import { Geoposition, GeolocationOptions } from 'ionic-native/dist/plugins/geolocation';
export class MyComponent {
protected getLocation():Promise<Geoposition> {
let options:GeolocationOptions = {
maximumAge: 0, timeout: 5000, enableHighAccuracy: false
};
return Geolocation.getCurrentPosition(options)
.catch(error => { console.error(error.message) };
}
}
私はAndroidManifest.xmlもチェックしました。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
私はタイムアウトを常に超えていることに気づきました。私がデフォルト(タイムアウトがデフォルトで無限に設定されている)にしておけば、およそ20分後に、私は実際に地理的位置を取得します。もちろん、20分は理想的ではありません。
また、navigator
を次のように使用して試しました。しかし、私はまったく同じ結果を得る。
navigator.geolocation.getCurrentPosition(
position => {
console.info('using navigator');
console.info(position.coords.latitude);
console.info(position.coords.longitude);
},
error => {
console.warn('using navigator');
console.warn(error.code);
console.warn(error.message);
},
options
);
Chrome
でテストすると、コードは期待通りに機能します。唯一の違いは、ページが自分の場所にアクセスできるようにするかどうかを尋ねるポップアップが表示されることです。
I「は、私がところで
イオン2のコンテキストでこの質問をしたかった私は多くの人があまりにもイオンとSO上で同じ問題を抱えて見ましたが、それはバージョン1でありますまた、Cordovaが更新され、バージョンが6.0.2として表示されています。おそらく
npm update -g cordova
バージョン情報
- イオン2.0.0-beta.30
- コルドバ6.0.2
- ガルプCLI 1.2.1および3.9.1ローカル
同じ問題に直面しました。あなたは解決策を見つけましたか? – likerRr
が見つかりましたか? –
いいえ、解決策が見つかりませんでした。先日私はionic 2を見て、新しいジオロケーションのプラグインがあるので、私はそれを試してみるつもりです。私は後でリンクを投稿し、それが何かを助けるかどうかを試してみる。 –