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
миллисекунд.
- Возвращается, если устройство не удается получить позиции в течение времени, заданного параметром