Попробуйте это:
constructor(public geoLoc: GeoLocation){}
async getLocation() {
const position = await this.geoLoc.getCurrentPosition({enableHighAccuracy: true, timeout: 5000, maximumAge: 0}).then(res => {
this.latitude = res.coords.latitude;
this.longitude = res.coords.longitude;
}
});
Я думаю, что происходит, ваш браузер уже имеет местоположение, но на телефоне вы должны ждать его, чтобы получить местоположение, поэтому вы должны использовать promise
возвращается из метода getCurrentPosition()
. Кроме того, в зависимости от того, как вы используете getLocation()
, вы также можете захотеть, чтобы он возвращал promise
, когда promise
, возвращенное из getCurrentPosition()
, выполнено, в противном случае this.latitude
и this.longitude
, вероятно, все еще будут null
.