Подтвердить что ты не робот

Android: получать уведомление при входе пользователя в определенное место

Я разрабатываю приложение для Android, которое дает уведомление, когда пользователь входит в определенное место
Пользователь может указать местоположение с использованием долготы широты (например, карты Google)
Я знаю, как получить широту и долготу, но моя проблема в том, что когда пользователь вводит в определенном месте, то он не будет точно соответствовать ранее заданной широте и долготе. enter image description here

Как показано на рисунке, пользователь должен указать местоположение "My Place", когда пользователь вводит область (около 20 метров), тогда приложение должно отправить уведомление пользователю.
Я хочу знать, как я могу сравнить широту и долготу, которые пользователь указал (Мое место) и текущую широту и долготу, которые приложение извлекает с помощью GPS. Сравнение сделано таким образом, что это будет верно, если пользователь рядом с моим местом в районе 20 метров. (Этот 20 метров приблизительный.) Могу ли я установить точность в android, например. 20 метров.
Спасибо.

4b9b3361

Ответ 1

Лучший подход к этой проблеме - использование функции GeoFences. Подробнее см. https://developer.android.com/training/location/geofencing.html.

Outline: - Приложение регистрируется с базовой операцией ОС - вот мой список геофотоснимков (конкретное местоположение + радиус из местоположения), который я хочу, чтобы вы следили. - Если мой пользователь входит в этот гео-забор - разбудите меня и скажите мне об этом. - В этот момент времени вы можете выполнить любой шаг (либо вызвать сервер, и спросить, какую информацию вам нужно отобразить для пользователя), либо просто отправить push-уведомление (в уведомлении приложения) для выполнения необходимой работы.

Надеюсь, что это поможет.

Ответ 2

Посмотрите на функцию LocationManager.addProximityAlert. Это в значительной степени то, что вы хотите. Предупреждение, оно использует хорошее количество батареи.

Ответ 3

Вы можете сделать вычисление пула gps с помощью функций пространственного расстояния

Существует точка sdk (android и ios) от Bluedotinnovation, которая имеет более высокую точность и меньше разряжает батарею и аналогичный свободный sdk от Radar

Геолокация радара более мощная, чем встроенная геоинформация iOS или Android, с кросс-платформенной поддержкой неограниченных геообъектов, геологий многоугольников, обнаружением остановки и точностью до 30 метров.

Также у них есть поддержка ReactNative.