Могу ли я выполнить getCurrentPosition из конструкции jquery с помощью app.initialize - PullRequest
0 голосов
/ 23 мая 2019

Используя конструкцию jquery для инициализации, getCurrentPosition / watchPosition больше не работает в iOS Safari или Xcode Simulator.

Этот код работал до мая. Я удалил большую часть кода, чтобы протестировать базовую функциональность navigator.geolocation.getCurrentPosition. Если я вытяну код getCurrentPosition из функции объекта / инициализации Historigin и урону его за пределы последней строки, функция getCurrentPosition будет работать. Таким образом, результат, который я получаю в настоящее время: ОШИБКА (3): Тайм-аут поиска позиции.

main.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
<script src="https://maps.googleapis.com/maps/api/js?key=YOURAPIKEY">
</script>
<script type="text/javascript" src="js/Libraries/myphp.min.js"></script>
<script type="text/javascript" src="js/Libraries/jquery.js"></script>
<script type="text/javascript" src="js/Libraries/jquery.mobile-events.min.js"></script>
<script type="text/javascript" src="js/Libraries/jquery.touchSwipe.min.js"></script>
<script type="text/javascript" src="js/config.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="cordova_plugins.js"></script>
<script type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="statusbarnotification.js"></script>
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>

<link rel="stylesheet" type="text/css" href="css/_reset.css" />
<link rel="stylesheet" type="text/css" href="css/index.css" />

</head>
<body>

<script>
$(function() {
  document.addEventListener("deviceready", onDeviceReady, false);
  function onDeviceReady() {
  Historigin.initialize();
  }
  app.initialize();
  });
</script>
</body>
</html>

main.js

var Historigin = {
initialize: function() {

    var options = {
    enableHighAccuracy: true,
    timeout: 5000,
    maximumAge: 0
    };
    function success(pos) {
        var crd = pos.coords;
        console.log('Your current position is:');
        console.log(`Latitude : ${crd.latitude}`);
        console.log(`Longitude: ${crd.longitude}`);
        console.log(`More or less ${crd.accuracy} meters.`);
    }

    function error(err) {
        console.warn(`ERROR(${err.code}): ${err.message}`);
    }

    navigator.geolocation.getCurrentPosition(success, error, options);
}
};

Я ожидаю вывод широты и долготы моей текущей позиции в console.log.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...