Swift 4 и Geofire: работа с ошибкой неверного геолокации

Я использую язык Swift 4 и библиотеку geofire, чтобы находить точки на карте в пределах 3000 км от того места, где я нахожусь. Когда запрос встречает точку 90 500 широты и 100 000 долготы, появляется следующая ошибка: «Недопустимое географическое положение». Сбой происходит в строке query.observe (.keyEntered).

query? = geoFire.query (at: self.currentLocation.newLocation !, withRadius: self.distance) {
    //code
}
//The crash happens on this line:
var queryHandler = query.observe(.keyEntered, with: {(key, location) in
    //Code
})

У меня вопрос: как мне справиться с такой ошибкой? Мне нужно удалить все неверные координаты из базы данных? По-видимому, функция «наблюдать (.keyEntered» не позволяет обрабатывать исключения. Я хотел бы обрабатывать исключения без нарушения работы приложения


person Enzo    schedule 05.08.2019    source источник


Ответы (1)


Похоже, вы столкнулись с проблемой, описанной в этой проблеме, в репозитории Github: https://github.com/firebase/geofire-objc/issues/64

Из того, что я вижу там, единственный вариант - уменьшить радиус запроса.

person Frank van Puffelen    schedule 05.08.2019
comment
Я уменьшил радиус до 2000 км, и все заработало. Спасибо, Фрэнк. - person Enzo; 06.08.2019