我在服务中创建了以下函数,以获取当前位置的坐标并将它们存储在 2 个变量中:
getCurrentLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(position => {
this.currLat = position.coords.latitude;
this.currLng = position.coords.longitude;
});
}
else {
alert("Geolocation is not supported by this browser.");
}
}
如何通过此函数返回坐标以便在组件中使用它们?
最佳答案
你可以返回一个 promise 。
locationService.ts
getPosition(): Promise<any>
{
return new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition(resp => {
resolve({lng: resp.coords.longitude, lat: resp.coords.latitude});
},
err => {
reject(err);
});
});
}
组件.ts
this.locationService.getPosition().then(pos=>
{
console.log(`Positon: ${pos.lng} ${pos.lat}`);
});
关于angular - 以 Angular 获取当前位置的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51628568/