JavaScript. Подробное руководство, 6-е издание, стр. 493

Методы

<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.