Поиск Geofire в очень большой базе данных Firebase Android
Я пытаюсь построить карту, которая поддерживает миллионы маркеров. Я работал над всем, от кластерных маркеров до загрузки только видимых маркеров, используя geoquery.atLocation, и вот моя проблема: geofire занимает много времени для поиска в миллионах данных. Если приложение не сбоит в этом случае. Я могу изменить структуру базы данных, чтобы решить проблему, но это создаст много проблем для меня. Так есть ли хитрость, которая делает поиск геофайра в очень большой базе данных для поддержки миллионов.
1 ответ
Вам нужно добавить .indexOn
поле g
:
{
"rules": {
...
"locations": {
".indexOn": "g"
}
}
}
при беге GeoQuery
с круговым радиусом это будет загружать немного больше, чем при запросе с прямоугольными границами - пока это не поддерживается, поэтому его на самом деле избежать невозможно.