Методы
<b>void clearWatch(long watchId)</b>
Останавливает слежение за местонахождением пользователя. В аргументе watchId должно передаваться значение, полученное соответствующим вызовом метода
<b>watchPosition()</b>
.
<b>void getCurrentPosition(function success, [function error], [object options])</b>
Асинхронно определяет местонахождение пользователя с учетом параметров options (перечень свойств объекта option приводится ниже). Этот метод немедленно возвращает управление, а когда местонахождение пользователя будет определено, указанной функции обратного вызова success будет передан объект
<b>Geoposition</b>
. Или в случае ошибки (возможно из-за того, что пользователь не дал разрешение на определение его координат) функции обратного вызова error будет передан объект
<b>GeolocationError</b>
.
<b>long watchPosition(function success, [function error], [object options])</b>
Этот метод похож на метод
<b>getCurrentPosition()</b>
, но после определения текущего местонахождения пользователя он продолжает следить за его координатами и вызывает функцию success каждый раз, когда обнаружит существенное их изменение. Возвращает число, которое можно передать методу
<b>clearWatch(),</b>
чтобы остановить слежение за местонахождением пользователя.
Параметры
Аргумент options, передаваемый методам
<b>getCurrentPosition()</b>
и
<b>watchPosition(),</b>
является обычным объектом, содержащим ноль или более свойств из числа следующих:
<b>boolean enableHighAccuracy</b>
Этот параметр говорит о желательности определения координат с высокой точностью, даже если это повлечет увеличение расхода энергии в аккумуляторах. По умолчанию имеет значение false. В устройствах, способных определять местонахождение посредством измерения мощности сигналов WiFi или с помощью GPS, установка этого параметра в значение true обычно означает «использовать GPS».
<b>long maximumAge</b>
Этот параметр определяет максимальное время (в миллисекундах), прошедшее с того момента, как объект
<b>Geoposition</b>
был передан функции обратного вызова
<b>success</b>
. По умолчанию имеет значение 0, т.е. каждый вызов метода
<b>getCurrentPosition()</b>
или
<b>watchPosition()</b>
будет заново определять местонахождение. Если установить этот параметр в значение 60000, например, то реализации будет позволено возвращать любой объект
<b>Geoposition</b>
, полученный в течение последней минуты.
<b>long timeout</b>
Этот параметр определяет продолжительность ожидания выполнения запроса в миллисекундах. По умолчанию имеет значение Infinity. По истечении указанного интервала времени будет вызвана функция обратного вызова
<b>error</b>
. Обратите внимание, что время ожидания разрешения пользователя на получение его местонахождения не входит в это значение параметра
<b>timeout</b>
.
GeolocationError
ошибка, возникшая в ходе определения местонахождения пользователя
Если попытка определить географическое местонахождение пользователя окончилась неудачей, будет вызвана функция обратного вызова
<b>error</b>
с объектом
<b>GeolocationError</b>
, описывающим ошибку.
Константы
Следующие константы являются возможными значениями свойства code:
<b>unsigned short PERMISSION_DENIED = 1</b>
Пользователь не дал разрешение на определение его местонахождения.
<b>unsigned short POSITIONJJNAVAILABLE = 2</b>
Местонахождение не может быть определено по невыясненым причинам. Это может быть вызвано, например, сетевой ошибкой.
<b>unsigned short TIMEOUT = 3</b>
Местонахождение не может быть определено в течение установленного интервала времени (см. описание параметра
<b>timeout</b>
в справочной статье Geolocation).
Свойства
<b>readonly unsigned short code</b>
Это свойство может иметь одно из трех значений, описанных выше.
<b>readonly string message</b>
Текст сообщения, более детально описывающего ошибку. Сообщение предназначено для отладки и не подходит для уведомления конечного пользователя.
Geoposition
информация о местонахождении с указанием времени определения
Объект
<b>Geoposition</b>
представляет географическое местонахождение пользователя в указанный момент времени. Объекты этого типа имеют всего два свойства: время и ссылку на объект
<b>Geocoordinates</b>
, хранящий фактические значения координат.
Свойства
<b>readonly Geocoordinates coords</b>
Это свойство ссылается на объект
<b>Geocoordinates</b>
, свойства которого определяют широту, долготу и другие параметры местонахождения пользователя.
<b>readonly unsigned long timestamp</b>
Время в миллисекундах с начала эпохи, когда были определены эти координаты. При необходимости на основе этого значения можно создать объект
<b>Date</b>
.
HashChangeEvent
объект события, поставляемый по событию «hashchange» Event
Событие «hashchange» возбуждается броузером, когда изменяется идентификатор фрагмента (часть URL-адреса, начинающаяся с символа решетки #) документа. Это может происходить вследствие изменения свойства
<b>hash</b>
объекта
<b>Location</b>
или при перемещении по истории посещений щелчком на кнопке броузера Back (Назад) или Forward (Вперед). В любом из этих случаев броузер генерирует событие «hashchange». Обработчику этого события передается объект
<b>HashChangeEvent</b>
. Подробное обсуждение механизма управления историей посещения, а также свойства
<b>location.hash</b>
и события «hashchange» можно найти в разделе 22.2.