Геолокация используется для получения информации о широте и долготе устройства.
Шаг 1 — Установка плагина
Мы можем установить этот плагин, введя следующий код в окно командной строки .
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-geolocation
Шаг 2 — Добавить кнопки
В этом уроке мы покажем вам, как получить текущую позицию и как следить за изменениями. Сначала нам нужно создать кнопки, которые будут вызывать эти функции.
<button id = "getPosition">CURRENT POSITION</button> <button id = "watchPosition">WATCH POSITION</button>
Шаг 3 — Добавить прослушиватели событий
Теперь мы хотим добавить прослушиватели событий, когда устройство будет готово. Мы добавим пример кода ниже в функцию onDeviceReady в index.js .
document.getElementById("getPosition").addEventListener("click", getPosition); document.getElementById("watchPosition").addEventListener("click", watchPosition);
Шаг 3 — Создание функций
Две функции должны быть созданы для двух слушателей событий. Один будет использоваться для получения текущей позиции, а другой — для просмотра позиции.
function getPosition() { var options = { enableHighAccuracy: true, maximumAge: 3600000 } var watchID = navigator.geolocation.getCurrentPosition(onSuccess, onError, options); function onSuccess(position) { alert('Latitude: ' + position.coords.latitude + '\n' + 'Longitude: ' + position.coords.longitude + '\n' + 'Altitude: ' + position.coords.altitude + '\n' + 'Accuracy: ' + position.coords.accuracy + '\n' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 'Heading: ' + position.coords.heading + '\n' + 'Speed: ' + position.coords.speed + '\n' + 'Timestamp: ' + position.timestamp + '\n'); }; function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } } function watchPosition() { var options = { maximumAge: 3600000, timeout: 3000, enableHighAccuracy: true, } var watchID = navigator.geolocation.watchPosition(onSuccess, onError, options); function onSuccess(position) { alert('Latitude: ' + position.coords.latitude + '\n' + 'Longitude: ' + position.coords.longitude + '\n' + 'Altitude: ' + position.coords.altitude + '\n' + 'Accuracy: ' + position.coords.accuracy + '\n' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 'Heading: ' + position.coords.heading + '\n' + 'Speed: ' + position.coords.speed + '\n' + 'Timestamp: ' + position.timestamp + '\n'); }; function onError(error) { alert('code: ' + error.code + '\n' +'message: ' + error.message + '\n'); } }
В приведенном выше примере мы используем два метода — getCurrentPosition и watchPosition . Обе функции используют три параметра. Как только мы нажмем кнопку CURRENT POSITION , в предупреждении будут показаны значения геолокации.
Если мы нажмем кнопку НАЧАТЬ ПОЛОЖЕНИЕ , то одно и то же предупреждение будет срабатывать каждые три секунды. Таким образом, мы можем отслеживать изменения движения устройства пользователя.
НОТА
Этот плагин использует GPS. Иногда он не может вернуть значения вовремя, и запрос вернет ошибку тайм-аута. Вот почему мы указали enableHighAccuracy: true и maximumAge: 3600000. Это означает, что если запрос не будет выполнен вовремя, мы будем использовать последнее известное значение. В нашем примере мы устанавливаем MaximumAge на 3600000 миллисекунд.