Введение
Я работаю над приложением 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
Объект (соответствующая часть) JSON, возвращаемый функцией getCurrentPosition
{
coords:
{
latitude: 27.380583,
longitude: 33.631839
}
}
Что я пробовал
- JSON хорошо принят, и я могу распечатать его, а также его подобъекты. Я даже могу привязать его к локальной переменной в методе setValues. Я также попытался привязать эту локальную переменную к свойствам, но это вызвало ту же ошибку.
- Замена
lat: any
наlat: number
или добавлениеpublic
перед ним. - Избавление от нулевых операторов в методе setValues.
- Размещение кода в методе ngOnInit.
Все эти попытки вызвали одну и ту же ошибку.