получить оффлайн координаты GPS на устройстве Android - PullRequest
0 голосов
/ 21 ноября 2018

Во-первых, я не разработчик и не программист, поэтому любая помощь здесь будет очень признательна!У меня есть форма для использования на мобильных устройствах Android, которая запускается в Google Chrome.Пользователи могут использовать эту форму в автономном режиме, и мне было интересно, как лучше получить автономные координаты GPS в широте и долготе.Я немного покопался, и приведенный ниже код работает.Я перетаскиваю лат, длинный и точный результат из этого кода в отдельное поле в моей форме.В чем я не уверен, так это в том, как извлечь временную метку, чтобы быть уверенным, что показания текущие, а не что-то кэшированное на устройстве.Валюта и надежность координат очень важны для меня.

Любая помощь по этому вопросу была бы чудесной !!Спасибо, Анжела

    <!DOCTYPE html>
    <html>
    <body>

    <p>Get your latitude and longitude (test this to ensure it works when   out of coverage)</p>

    <button onclick="getLocation()">Get your coordinates</button>

    <p id="demo"></p>

    <script>
    var x = document.getElementById("demo");

    function getLocation() {
    if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
    } else { 
    x.innerHTML = "Geolocation is not supported by this browser.";
    }
    }

    function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + 
   "<br>Longitude: " + position.coords.longitude;
   "<br>Accuracy: " + position.coords.accuracy              + '<br />'
   }


   function showPosition(position) {
   var latlon = position.coords.latitude + "," + position.coords.longitude   +", Accuracy " + position.coords.accuracy;

   $('input[name="coords"]').val(latlon).trigger('input');
   }


   </script>

  </body>
  </html>

1 Ответ

0 голосов
/ 21 ноября 2018

getCurrentPosition принимает второй параметр, PositionOptions.Есть несколько вариантов, с которыми вы можете поэкспериментировать, чтобы достичь желаемых результатов, но, в частности, вы захотите использовать maximumAge и enableHighAccuracy.Чтобы гарантировать результаты без кэширования:

navigator.geolocation.getCurrentPosition(function(pos){
     console.log('Got position', pos);
}, {
     // can be `0` = uncached, any number in milliseconds,
     // or `Infinity` which will only retrieve cached results
     maximumAge: 0,
     // may take longer, but browser will do everything possible
     // to get the most accurate position
     enableHighAccuracy: true
});

Стоит также отметить, что возвращаемое Position поставляется со свойством accuracy, которое возвращает положительное двойное число, указывающее точность широты и длины в метрах.В зависимости от варианта использования может потребоваться определенный порог точности для взаимодействия пользователей с вашим приложением.Вы можете увидеть полную спецификацию здесь .

...