Обновление: это проблема службы Google Play, о которой сообщается здесь, и она будет исправлена с версии 13.4.0.
Мы используем плагин cordova gelocation и метод navigator.geolocation.watchPosition()
с опцией enableHighAccuracy: true
чтобы отслеживать местоположение пользователя и получать наиболее точные результаты.
Наше приложение существует уже более 1 года, и у нас не было проблем с тем, чтобы какое-либо устройство получало очень хорошую точность определения местоположения, 4/6 метров на улице и в ясном небе.
В последнее время многие из наших пользователей сообщают, что они не могут получить точность менее 10 м независимо от того, что они делают.
Мы решили проверить это сами, и мы обнаружили, что та же проблема. Изначально мы думали, что в нашем последнем выпуске были обнаружены некоторые ошибки, мы все трижды проверили, но не внесли изменений в код/зависимости, связанные с геолокацией.
Мы также протестировали более старые версии нашего приложения, где мы уверены, что можно получить точность до 4 м, но, что удивительно, они тоже не работают, точность ограничена на 10 м.
Мы пробовали разные версии Android и можем воспроизвести проблему на любой платформе от 5 (Lollipop) до 8 (Oreo). У нас также есть такая же проблема на iOS 10/11. Опять же, мы не обновляли приложение месяцами.
Есть недавний вопрос об этой же проблеме здесь:
У кого-то есть такая же проблема с использованием нативного кода Android здесь
Кто-нибудь знает что происходит? Это вопрос разрешения? Службы определения местоположения также настроены на высокую точность.
Для полноты мы можем получить точность 3/4 метра, используя старую версию (2.x) этого плагина.
Это единственный путь?
Мы бы предпочли не вводить дополнительную зависимость для чего-то, что работало так хорошо из коробки.
Большое спасибо