Android GPS FusedLocationProviderClient: неправильная долгота

#android #react-native #gps #fusedlocationproviderclient

#Android #react-native #gps #fusedlocationproviderclient

Вопрос:

У нас есть приложение ReactNative, работающее как на iOS, так и на Android. Мы разработали собственный модуль для обновлений GPS. На iOS все работает нормально! На Android мы используем FusedLocationProviderClient .

Моя проблема: в некоторых очень редких случаях на Android, менее чем на несколько % наших данных GPS, мы видим данные GPS с правильной широтой, но долгота продолжает отклоняться от реальной (например, это, похоже, происходит на Samsung S9 )

Смотрите этот снимок экрана Этот снимок экрана

Эта ошибка длится всего несколько минут, а затем, похоже, устраняется сама по себе…

Кто-нибудь тоже сталкивался с этой ошибкой?

Если да, то как вы это исправили?

(примечание: я могу добавить образцы кода, если вы считаете, что это может помочь, но у меня возникают большие трудности с воспроизведением этой ошибки самостоятельно, поэтому я сомневаюсь, что это полезно в данном случае …)

Комментарии:

1. Пожалуйста, добавьте код к вашему вопросу, спасибо

2. или попробуйте добавить какой-нибудь научный материал, который позволит нам помочь вам, например, журналы и т. Д..

Ответ №1:

Для блокировки GPS требуется некоторое время, и в зависимости от телефона это может занять довольно много времени и быть ненадежным. Лучшее, что вы можете сделать, это проверить точность, о которой сообщается, а также в режиме реального времени опрашивать местоположение пользователя, когда он открывает соответствующее действие, поэтому к тому времени, когда вам понадобится местоположение, оно, скорее всего, будет точно заблокировано.

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

Ответ №2:

Для блокировки GPS требуется некоторое время, и должно быть не менее 3 спутников, чтобы устройство могло защелкиваться, если пользователь находится в помещении, защелкнуть его практически невозможно. Вам нужно будет проверить точность, при тестировании я обнаружил, что если значение точности становится 2,9 (может отличаться на разных устройствах, но до сих пор я не видел), то местоположение вашего устройства установлено. Или дайте некоторое время на разработку и запись координат, когда вы считаете, что это возможно, в зависимости от точности.

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