Я добавляю пользовательские геопоинты и хотел бы проверить, имеет ли snapShot.data (). Location.geopoint значение NULL, прежде чем помещать данные в массив, но я получаю следующую ошибку:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'geopoint' of undefined
TypeError: Cannot read property 'geopoint' of undefined
Вот актуальный код?
query.get()
.then(list => {
list.forEach(snapShot => {
let userLat = (snapShot.data().location.geopoint.latitude > 0) ? snapShot.data().location.geopoint.latitude : 0;
let userLong = (snapShot.data().location.geopoint.longitude > 0) ? snapShot.data().location.geopoint.longitude : 0;
console.log('use lat long', userLat, userLong);
let distance = this.geo.distance(this.geo.point(myLat, myLong), this.geo.point(userLat, userLong));
if (distance <= this.userSettings.distance.upper) {
this.userInfo.push({
userId: snapShot.data().userId,
displayName: snapShot.data().displayName,
});
}
});
})
как бы я проверил нулевое значение в геопункте, если он жалуется на ту фактическую нулевую проверку, которую я добавил:
let userLat = (snapShot.data().location.geopoint.latitude > 0) ? snapShot.data().location.geopoint.latitude : 0;