#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 (может отличаться на разных устройствах, но до сих пор я не видел), то местоположение вашего устройства установлено. Или дайте некоторое время на разработку и запись координат, когда вы считаете, что это возможно, в зависимости от точности.
Надеюсь, это может вам помочь…