Как отправить местоположение в Firestore и получить места в зависимости от расстояния? - PullRequest
0 голосов
/ 02 июля 2019

В моем приложении я хочу отправить (возможно, с помощью запроса) геопункт пользователя (userLocation), чья машина сломалась, и он застрял.В ответ я хочу вернуть все ремонтные мастерские, которые захотят достучаться до мельчайшего пользователя.Каждый документ пожарного магазина Repair_Shop содержит их геопункт (shopLocation) и число в км serviceDistance, которое является их радиусом обслуживания (serviceRadius).Я хочу получить ответ со всеми документами в коллекции Repair_Shop, который удовлетворяет критериям serviceDistance <= | userLocation - shopLocation |. </p>

Я прочитал документ GeoFirestore, но не совсем уверен, как это осуществить,Вычисление не может быть сделано во внешнем интерфейсе, естественно.Но что я отправляю как запрос и, если возможно, что я делаю в API Firestore, чтобы получить ожидаемый снимок документа?

Спасибо.

1 Ответ

0 голосов
/ 02 июля 2019

Нет способа сделать это с помощью одного геоквери.Причина этого проста: на северном полюсе может быть ремонтная мастерская, которая готова проехать 10000 км, чтобы обслуживать застрявший автомобиль.Таким образом, вам, по сути, всегда придется запрашивать все магазины, а затем сортировать / фильтровать их на стороне клиента.

Эта проблема по существу такая же, как:

Пока я отвечаю, лучше всего начать с разумного диапазона и запросить все документы в этом диапазоне.Если это не приводит к результату, попробуйте еще раз с большим диапазоном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...