Как найти близлежащих пользователей приложения в Android?

Я делаю приложение, которое должно найти людей поблизости, которые являются пользователями моего приложения.
Я просмотрел множество ответов на аналогичные вопросы прецедента, и, похоже, у меня нет выбора, кроме как продолжать загружать текущее местоположение пользователя на сервер и получать список соседних пользователей, когда это необходимо.

Тогда мой вопрос
1. Чтобы получить список поблизости, должен быть какой-то алгоритм или функция, которая вычисляет расстояние. Тогда не значит ли это, что мне нужно пройти все расстояния между моим местоположением и остальными пользователями приложения? Таким образом, сервер возвращает определенное количество пользователей, у которых результаты наименьшего расстояния. Если я прав, не будет ли проблем с памятью или временем?
2. Это может звучать странно, но как насчет этого?
Я, вероятно, отправлю информацию о широте и долготе или адресную информацию на сервер. Разве я не могу сравнить эти строки со списком адресов всех пользователей из первых цифр или букв, используя алгоритмы поиска строк или что-то еще?
Например, если мой последний обновленный адрес «abcde» на сервере, алгоритм будет искать адреса, которые начинаются с «a», если поиск завершен, а затем искать адреса с «b» после «a», другими словами «абы».
Возможно, это неправильное решение, но я подумал, что это может сработать, потому что адрес будет сохранен в тех же формах.

Ответы на вопрос(2)

Ваш ответ на вопрос