Я нашел решение.
Вместо сохранения геопункта и радиуса (представляющего круг) я могу сохранить ограниченный квадрат, поэтому я буду хранить две долготы (долгота геопункта + и радиус) ) и две широты (географическая широта + и - радиус). Затем я могу сделать сложный запрос из 4 частей, чтобы увидеть, находится ли пользовательский геопоинт в квадрате.
В любом случае, это несовершенное решение, поскольку в приближении окружности / квадрата недостаточно точности, но в мой конкретный случай, это не имеет значения. Поэтому, если в вашем случае точность имеет значение, вы можете сохранить радиус (или рассчитать по ширине квадрата), а затем создать фильтр для запрашиваемых объектов.
Обобщение , этот метод можно легко применить для любого многоугольника:
- Сохраните в документе пожарного депо координаты многоугольника и описанный прямоугольник.
- Запросите документы в Firestore, используя четыре прямоугольных координаты
- Фильтруйте результаты используя оригинальные полигоны.