我正在尝试离子本机。获得许可成功,但是获得错误后无法读取未定义的属性“纬度”。
注意*我使用的是Android模拟器,而不是物理设备。
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { Geolocation } from '@ionic-native/geolocation';
import { AndroidPermissions } from '@ionic-native/android-permissions';
export class GeolocationPage {
latitude: number;
longitude: number;
constructor(private platform: Platform, private geolocation: Geolocation, private androidPermissions: AndroidPermissions) {
this.platform.ready().then(() => {
this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION]).then(
sucess => this.onSucess(),
err => this.onFailure()
);
});
}
onSucess(){
alert('onSucess');
this.geolocation.watchPosition().subscribe(pos => {
this.latitude = pos.coords.latitude;
this.longitude = pos.coords.longitude;
});
}
onFailure(){
alert('onFailure');
}
}
最佳答案
onSucess(){
alert('onSucess');
let _me = this
this.geolocation.watchPosition().subscribe(pos => {
_me.latitude = pos.coords.latitude;
_me.longitude = pos.coords.longitude;
});
}