【发布时间】:2020-06-24 16:56:56
【问题描述】:
简介
我正在开发一个 Angular 应用程序,我想在其中获取用户的当前位置并将经度和高度保存在两个属性 lng 和 lat 中,但这似乎不起作用,无论如何我尝试什么;我不断收到错误ERROR TypeError: Cannot set property 'lat' of null
TypeScript 代码(相关部分)
lat : any;
lng : any;
constructor() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(this.setValues);
}
}
setValues(values) {
this.lat = values?.coords?.latitude
this.lng = values?.coords?.longitude;
}
在setValues的第一行抛出错误
getCurrentPosition 返回的 JSON 对象的(相关部分)
{
coords:
{
latitude: 27.380583,
longitude: 33.631839
}
}
我尝试了什么
- JSON 很受欢迎,我可以打印它,也可以打印它的子对象。我什至可以将它绑定到 setValues 方法中的局部变量。我还尝试将该局部变量绑定到属性,但这导致了同样的错误。
- 将
lat: any更改为lat: number或在其前面添加public。 - 摆脱 setValues 方法中的空运算符。
- 将代码放入 ngOnInit 方法中。
所有这些尝试都导致了相同的错误。
【问题讨论】:
标签: angular typescript geolocation typeerror angular9