我正在尝试离子本机。获得许可成功,但是获得错误后无法读取未定义的属性“纬度”。

注意*我使用的是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;
             });
         }

10-07 19:35
查看更多