Może nie potrzebnie się martwię, ale boję się trochę o wydajność naszej apki w trybie nawigacji. Funkcja będzie wykonywana bardzo często - co każdy update na wszystkie zwierzaki. Myślę że można się pokusić o jakąś optymalizację:
- zmienić metodę z Haversine na zwykłego euklidesa (na małym obszarze jakim jest zoo błąd jest pomijalny)
- zamiast przekazywać location, przekazać double latitude i double longitude obliczone przed pętlą po zwierzakach