Введение
Я работаю над приложением 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.
Все эти попытки вызвали одну и ту же ошибку.