15 KiB
cordova-plugin-geolocation
Этот плагин предоставляет информацию о местоположении устройства, например, Широта и Долгота. Общие источники информации о местонахождении включают глобальной системы позиционирования (GPS) и местоположение, выведено из сети сигналов, таких как IP-адрес, RFID, WiFi и Bluetooth MAC-адреса и идентификаторы базовых станций сотовой GSM/CDMA. Нет никакой гарантии, что API возвращает фактическое местоположение устройства.
Этот API основан на Спецификации W3C Geolocation APIи выполняется только на устройствах, которые уже не обеспечивают реализацию.
Предупреждение: сбор и использование данных геопозиционирования поднимает вопросы важные конфиденциальности. Политика конфиденциальности вашего приложения должна обсудить, как приложение использует данные геопозиционирования, ли она совместно с другими сторонами и уровень точности данных (например, грубый, тонкий, почтовый индекс уровня, т.д.). Геолокации, как правило, считается конфиденциальной, потому, что она может выявить местонахождение пользователя и, если сохранены, история их путешествия. Таким образом помимо политики конфиденциальности приложения, следует решительно рассмотреть уведомления just-in-time, прежде чем приложение обращается к геолокации (если операционной системы устройства не так уже). Это уведомление должно обеспечивать ту же информацию, отметили выше, а также получения разрешения пользователя (например, путем представления выбора OK и Нет, спасибо). Для получения дополнительной информации пожалуйста, смотрите в руководстве конфиденциальности.
Установка
cordova plugin add cordova-plugin-geolocation
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Tizen
- Windows Phone 7 и 8
- Windows 8
Методы
- navigator.geolocation.getCurrentPosition
- navigator.geolocation.watchPosition
- navigator.geolocation.clearWatch
Объекты (только для чтения)
- Position
- PositionError
- Coordinates
navigator.geolocation.getCurrentPosition
Возвращает текущее положение устройства для geolocationSuccess обратного вызова с Position объект в качестве параметра. Если есть ошибка, geolocationError обратного вызова передается PositionError объект.
navigator.geolocation.getCurrentPosition (geolocationSuccess, [geolocationError], [geolocationOptions]);
Параметры
-
geolocationSuccess: обратный вызов, который передается в текущей позиции.
-
geolocationError: (необязательно) обратного вызова, который выполняется при возникновении ошибки.
-
geolocationOptions: (необязательно) параметры геопозиционирования.
Пример
onSuccess обратного вызова / / этот метод принимает позицию объекта, который содержит / / текущие GPS координаты / / var onSuccess = function(position) {alert (' Широта: ' + position.coords.latitude + «\n» + ' Долгота: ' + position.coords.longitude + «\n» + ' Высота: ' + position.coords.altitude + «\n» + ' точность: ' + position.coords.accuracy + «\n» + ' высоте точность: ' + position.coords.altitudeAccuracy + «\n» + ' заголовок: ' + position.coords.heading + «\n» + ' скорость: ' + position.coords.speed + «\n» + ' штампа времени: ' + position.timestamp + «\n»);};
onError обратного вызова получает объект PositionError / / функция onError(error) {alert (' код: ' + error.code + «\n» + ' сообщение: ' + error.message + «\n»);}
navigator.geolocation.getCurrentPosition (onSuccess, onError);
navigator.geolocation.watchPosition
Возвращает текущее положение устройства при обнаружении изменения в позиции. Когда устройство получает новое место, geolocationSuccess обратного вызова выполняется с Position объект в качестве параметра. Если есть ошибка, geolocationError обратного вызова выполняется с PositionError объект в качестве параметра.
var watchId = navigator.geolocation.watchPosition (geolocationSuccess, [geolocationError], [geolocationOptions]);
Параметры
-
geolocationSuccess: обратный вызов, который передается в текущей позиции.
-
geolocationError: (необязательно) обратного вызова, который выполняется при возникновении ошибки.
-
geolocationOptions: параметры (необязательно) географического расположения.
Возвращает
- Строка: Возвращает идентификатор часы, ссылается на позицию интервала часы. Идентификатор часы должны использоваться с
navigator.geolocation.clearWatchпрекратить слежение за изменением в положении.
Пример
onSuccess обратного вызова / / этот метод принимает «Position» объект, который содержит / / текущие GPS координаты / / функция onSuccess(position) {var элемент = document.getElementById('geolocation');
element.innerHTML = ' Широта: ' + position.coords.latitude + ' < br / >' + ' Долгота: ' + position.coords.longitude + ' < br / >' + ' < hr / >' + element.innerHTML;
} / / onError обратного вызова получает объект PositionError / / функция onError(error) {alert (' код: ' + error.code + «\n» + ' сообщение: ' + error.message + «\n»);}
Опции: Бросьте сообщение об ошибке, если обновление не получено каждые 30 секунд.
var watchID = navigator.geolocation.watchPosition (onSuccess, onError, {тайм-аут: 30000});
geolocationOptions
Необязательные параметры для настройки поиска географического расположенияPosition.
{maximumAge: 3000, тайм-аут: 5000, enableHighAccuracy: true};
Параметры
-
enableHighAccuracy: предоставляет подсказку, что приложению требуются наилучшие результаты. По умолчанию устройство пытается получить
Positionс использованием методов на основе сети. Установка этого свойства значениеtrueуказывает среде использовать более точные методы, например спутникового позиционирования. (Логическое значение) -
время ожидания: максимальная длина времени (в миллисекундах), которое может пройти от вызова
navigator.geolocation.getCurrentPositionилиgeolocation.watchPositionдо соответствующихgeolocationSuccessвыполняет обратный вызов. ЕслиgeolocationSuccessобратного вызова не вызывается в течение этого времени,geolocationErrorобратного вызова передаетсяPositionError.TIMEOUTкод ошибки. (Обратите внимание, что при использовании в сочетании сgeolocation.watchPosition,geolocationErrorобратный вызов может быть вызван на интервале каждыеtimeoutмиллисекунд!) (Число) -
maximumAge: принять кэшированное положение, возраст которых не превышает указанного времени в миллисекундах. (Число)
Особенности Android
Эмуляторы Android 2.x не возвращать результат географического расположения, если enableHighAccuracy параметр имеет значениеtrue.
navigator.geolocation.clearWatch
Остановить просмотр для изменения местоположения устройства ссылается watchID параметр.
navigator.geolocation.clearWatch(watchID);
Параметры
- watchID: идентификатор
watchPositionинтервал, чтобы очистить. (Строка)
Пример
Опции: наблюдать за изменениями в положении и использовать наиболее / / точная позиция приобретение доступным методом.
var watchID = navigator.geolocation.watchPosition (onSuccess, onError, {enableHighAccuracy: true});
.. .later на...
navigator.geolocation.clearWatch(watchID);
Position
Содержит Position координат и отметок времени, созданная API геопозиционирования.
Параметры
-
CoOrds: набор географических координат. (Координаты)
-
штамп времени: штамп времени создания для
coords. (Дата)
Coordinates
A Coordinates объект присоединен к Position объект, который доступен для обратного вызова функций в запросы для текущей позиции. Он содержит набор свойств, которые описывают географические координаты позиции.
Параметры
-
Широта: Широта в десятичных градусах. (Число)
-
Долгота: Долгота в десятичных градусах. (Число)
-
Высота: высота позиции в метрах над эллипсоидом. (Число)
-
точность: уровень точности координат широты и долготы в метрах. (Число)
-
altitudeAccuracy: уровень точности координат высоты в метрах. (Число)
-
заголовок: направление движения, указанный в градусах, считая по часовой стрелке относительно истинного севера. (Число)
-
скорость: Текущая скорость земли устройства, указанного в метрах в секунду. (Число)
Особенности Amazon Fire OS
altitudeAccuracy: не поддерживается Android устройств, возвращаяnull.
Особенности Android
altitudeAccuracy: не поддерживается Android устройств, возвращаяnull.
PositionError
PositionErrorОбъект передается в geolocationError функции обратного вызова при возникновении ошибки с navigator.geolocation.
Параметры
-
code: один из стандартных кодов ошибок, перечисленных ниже.
-
сообщение: сообщение об ошибке с подробными сведениями об ошибке.
Константы
PositionError.PERMISSION_DENIED- Возвращается, когда пользователи не позволяют приложению получить сведения о положении. Это зависит от платформы.
PositionError.POSITION_UNAVAILABLE- Возвращается, если устройство не удается получить позиции. В общем это означает, что прибор не подключен к сети или не может получить Спутниковое исправить.
PositionError.TIMEOUT- Возвращается, если устройство не удается получить позиции в течение времени, заданного параметром
timeoutвgeolocationOptions. При использовании сnavigator.geolocation.watchPosition, эта ошибка может быть неоднократно переданgeolocationErrorобратного вызова каждыйtimeoutмиллисекунд.
- Возвращается, если устройство не удается получить позиции в течение времени, заданного параметром