Ионический азимут местоположения Android всегда равен нулю - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь найти направление / направление.

enter image description here

Я пытался использовать GoogleMap.getMyLocation(), который возвращает bearing как undefined

this.map.getMyLocation({
    enableHighAccuracy: true
}).then((loc:MyLocation)=>{
    console.log(loc.bearing) //always undefined
})

даже LocationService.getMyLocation() возвращает undefined

LocationService.getMyLocation(option).then((location: MyLocation) => {
    console.log('location.bearing,',location.bearing);//undefined
});

Я также пытался использовать geolocation, но heading возвращает ноль

this.watchsubscription = this.geolocation.watchPosition(
    {
        maximumAge: 0,
        timeout: 1000,
        enableHighAccuracy: true
    }
).pipe(
    filter((p) => p.coords !== undefined)//Filter Out Errors
)
.subscribe(position => {
    console.log(position.coords.heading) // null
});

В качестве последнего средства я попытался использовать deviceOrientation, который возвращает magneticHeading и trueHeading, однако magneticHeading всегда равен trueHeading, и они не дают правильных ориентиров, которые я вижу в GoogleMap приложение.

this.Orientationsubscription = this.deviceOrientation.watchHeading().subscribe(
    (data: DeviceOrientationCompassHeading) =>{ 
        console.log(data); //
    });

Как мне узнать свое местоположение на Android Ionic?

...