From 8503b54f53f6ec646b3779a78d7e10e2a0a10ff8 Mon Sep 17 00:00:00 2001 From: Ratnadeep Rajendra Kharade <92khra1mst@hft-stuttgart.de> Date: Sat, 11 Jan 2020 00:12:11 +0100 Subject: [PATCH] Updated location serice code to read altitude along with lat and lng. --- src/app/services/location.service.ts | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/app/services/location.service.ts b/src/app/services/location.service.ts index befbc94..f96c0fa 100644 --- a/src/app/services/location.service.ts +++ b/src/app/services/location.service.ts @@ -5,24 +5,30 @@ import { Subject } from 'rxjs'; providedIn: 'root' }) export class LocationService { - public preiousUserPosition = { lat: 48.783480, lng: 9.180319 }; - public currentUserPosition = { lat: 48.783480, lng: 9.180319 }; + public preiousUserPosition = { lat: 48.783480, lng: 9.180319, altitude: 250}; + public currentUserPosition = { lat: 48.783480, lng: 9.180319, altitude: 250}; liveLocationSubject = new Subject<any>(); //Decalring new RxJs Subject constructor(private geolocation: Geolocation) { let watch = this.geolocation.watchPosition({ enableHighAccuracy: true, maximumAge: 10000 }); watch.subscribe((position) => { - console.log('IN WATCHER') - console.log('lat'+ position.coords.latitude); - console.log('lng'+ position.coords.longitude); + console.log(position); + let altitude = position.coords.altitude; + if (!altitude) { + altitude = 250; + } this.currentUserPosition.lat = position.coords.latitude; this.currentUserPosition.lng = position.coords.longitude; + this.currentUserPosition.altitude = altitude; + this.preiousUserPosition.lat = position.coords.latitude; this.preiousUserPosition.lng = position.coords.longitude; + this.preiousUserPosition.altitude = altitude; + this.getUserLiveLocation(this.currentUserPosition); }, (errorObj) => { - console.log('error getting live location, setting to previous location'); + console.log('Error getting live location, setting to previous location'); this.getUserLiveLocation(this.preiousUserPosition); }); } @@ -31,12 +37,21 @@ export class LocationService { return new Promise((resolve, reject) => { this.geolocation.getCurrentPosition().then((resp) => { + console.log(resp); let lat = resp.coords.latitude; let lng = resp.coords.longitude; + let altitude = resp.coords.altitude; + if (!altitude) { + altitude = 250; + } + this.currentUserPosition.lat = resp.coords.latitude; this.currentUserPosition.lng = resp.coords.longitude; + this.currentUserPosition.altitude = altitude; + this.preiousUserPosition.lat = resp.coords.latitude; this.preiousUserPosition.lng = resp.coords.longitude; + this.preiousUserPosition.altitude = altitude; resolve(this.currentUserPosition); }, er => { console.log('error getting location setting to previous location'); -- GitLab