Поиск Geofire в очень большой базе данных Firebase Android

Я пытаюсь построить карту, которая поддерживает миллионы маркеров. Я работал над всем, от кластерных маркеров до загрузки только видимых маркеров, используя geoquery.atLocation, и вот моя проблема: geofire занимает много времени для поиска в миллионах данных. Если приложение не сбоит в этом случае. Я могу изменить структуру базы данных, чтобы решить проблему, но это создаст много проблем для меня. Так есть ли хитрость, которая делает поиск геофайра в очень большой базе данных для поддержки миллионов.

1 ответ

Вам нужно добавить .indexOn поле g:

{
  "rules": {
    ...
    "locations": {
      ".indexOn": "g"
    }
  }
}

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

Другие вопросы по тегам