Такой режим работы нужен, чтобы экономить батарейку и не обновлять текущее местоположение пользователя, ели это никому не нужно? Я к тому, что почему бы всем пользователям просто периодически не отсылать текущее местоположение, а по запросу сразу отдавать последнее обновленное и писать, сколько времени назад оно было получено?
В вашем случае вижу несколько возможных проблем:
1. По запросу не всегда пользователь сможет отдать текущее местоположение (или с недостаточной точностью).
2. Большое время отклика на запрос.
3. Скорее всего, вы уже учли этот момент, но все-таки напишу. В вашем алгоритме пользователь должен отправить по ответу о своем местоположении на все запросы от всех пользователей. Если почти одновременно поступят запросы на определения местоположения одного пользователя, то незачем отвечать несколько раз. Если кто-то уже запросил, а пользователь еще не ответил или ответил какое-то небольшое время назад, то можно не добавлять запрос пользователю Б.