Как вернуть х ближайших людей в трепет с Firebase? - PullRequest
1 голос
/ 11 июля 2020

Можно ли запросить определенное количество ближайших местоположений из базы данных облачного хранилища во Flutter? Пакет geoflutterfire появляется только для того, чтобы вы могли запрашивать местоположения в пределах радиуса. Единственное решение - медленно увеличивать радиус, пока не будет найдено приемлемое количество пользователей? Это звучит как очень нечистое решение. Существуют ли другие пакеты или методы, которые предоставят вам эту функциональность?

1 Ответ

2 голосов
/ 11 июля 2020

Из-за особенностей работы пакетов Geo * Fire они не могут возвращать ближайших к X результатов.

Общий шаблон:

  1. Начните с разумного диапазона, клиент -стороне упорядочить результаты по расстоянию, а затем вернуть верхний X.
  2. Если вы получили слишком мало результатов, попробуйте еще раз с большим диапазоном.

Увеличение диапазона не так дорого в Firestore, как вы могли подумать, поскольку документы для меньшего диапазона уже будут в кеше на стороне клиента после первого геозапроса.

...