Eksperymentowałem z Geofire for iOS, ale nie mogę znaleźć sposobu na zwrócenie odległości z pozycji wyszukiwania w zapytaniu o okrąg. GFQueryResultBlock zwraca tylko klucz i pozycję. Czy mam rację, zakładając, że sam muszę obliczyć odległość?Zamawianie wyników Geofire na odległość
Załóżmy, że robię pobliską aplikację restauracyjną z Firebase i chcę wyświetlić 20 najbliżej położonych restauracji, uporządkowanych według tego, jak blisko są. Mogę utworzyć kwerendę okrąg, a następnie zwiększyć zasięg wyszukiwania za pośrednictwem pętli, aż znajdę 20 restauracji. Następnie obliczyć odległość dla każdego z nich i posortować je przed wyświetleniem ich użytkownikowi. Czy jest to rozsądne podejście, biorąc pod uwagę, że w aplikacji wykonuje się dużą ilość pracy w celu uporządkowania danych (obliczanie odległości: sortowanie na odległość: &)?
Zauważyłem, że javascript Geofire pyta o numer return distance from the center, ale domyślam się, że wersje na iOS i android różnią się od tego.
Nie ma żadnej szkody w podejściu. A jeśli używasz jednej z procedur sortowania dostarczonych przez iOS, jest to bardzo szybkie. Używam tego samego podejścia do jednej z moich aplikacji i nigdy nie spotkałem się z żadnym problemem. Ponieważ Geofire zwraca wyniki stopniowo, wszystkie kolejne wstawienia odbywają się w log (n), co jest dość wydajne. Przypuszczam, że nie zajmujesz się obiektami rzędu tysięcy. – kdeo
Firebase geofire-js: jak uzyskać listę kluczy w pobliżu lokalizacji statycznych (stałych): http://stackoverflow.com/questions/43632746/firebase-geofire-js-how-to-get-list-of-keys -of-near-by-staticfixed-locations –