Книга: JavaScript. Подробное руководство, 6-е издание
Geolocation
Geolocation
позволяет получить широту и долготу местоположения пользователя
Объект Geolocation
определяет методы, позволяющие получить точные географические координаты местоположения пользователя. В броузерах, поддерживающих такую возможность, объект Geolocation
можно получить через объекта Navigator
, обратившись к свойству navigator.geolocation
. Методы, описываемые ниже, опираются на использование некоторых других типов: местоположение определяется в форме объекта Geoposition
, а ошибки - в форме объектов GeolocationError
.
Методы
void clearWatch(long watchId)
Останавливает слежение за местонахождением пользователя. В аргументе watchId должно передаваться значение, полученное соответствующим вызовом метода watchPosition()
.
void getCurrentPosition(function success, [function error], [object options])
Асинхронно определяет местонахождение пользователя с учетом параметров options (перечень свойств объекта option приводится ниже). Этот метод немедленно возвращает управление, а когда местонахождение пользователя будет определено, указанной функции обратного вызова success будет передан объект Geoposition
. Или в случае ошибки (возможно из-за того, что пользователь не дал разрешение на определение его координат) функции обратного вызова error будет передан объект GeolocationError
.
long watchPosition(function success, [function error], [object options])
Этот метод похож на метод getCurrentPosition()
, но после определения текущего местонахождения пользователя он продолжает следить за его координатами и вызывает функцию success каждый раз, когда обнаружит существенное их изменение. Возвращает число, которое можно передать методу clearWatch(),
чтобы остановить слежение за местонахождением пользователя.
Параметры
Аргумент options, передаваемый методам getCurrentPosition()
и watchPosition(),
является обычным объектом, содержащим ноль или более свойств из числа следующих:
boolean enableHighAccuracy
Этот параметр говорит о желательности определения координат с высокой точностью, даже если это повлечет увеличение расхода энергии в аккумуляторах. По умолчанию имеет значение false. В устройствах, способных определять местонахождение посредством измерения мощности сигналов WiFi или с помощью GPS, установка этого параметра в значение true обычно означает «использовать GPS».
long maximumAge
Этот параметр определяет максимальное время (в миллисекундах), прошедшее с того момента, как объект Geoposition
был передан функции обратного вызова success
. По умолчанию имеет значение 0, т.е. каждый вызов метода getCurrentPosition()
или watchPosition()
будет заново определять местонахождение. Если установить этот параметр в значение 60000, например, то реализации будет позволено возвращать любой объект Geoposition
, полученный в течение последней минуты.
long timeout
Этот параметр определяет продолжительность ожидания выполнения запроса в миллисекундах. По умолчанию имеет значение Infinity. По истечении указанного интервала времени будет вызвана функция обратного вызова error
. Обратите внимание, что время ожидания разрешения пользователя на получение его местонахождения не входит в это значение параметра timeout
.
- ApplicationCache
- ArrayBuffer
- ArrayBufferView
- Attr
- Audio
- BeforeUnloadEvent
- Blob
- BlobBuilder
- Button
- Canvas
- BlobBuilder
- Button
- Canvas
- CanvasGradient
- CanvasPattern
- CanvasRenderingContext2D
- ClientRect
- CloseEvent
- Comment
- Console
- ConsoleCommandLine
- CSS2Properties
- CSSRule
- CSSStyleDeclaration
- CSSStyleSheet
- DataTransfer
- DataView
- Document
- DocumentFragment
- DocumentType
- DOMException
- DOMImplementation
- DOMSettableTokenList
- DOMTokenList
- Element
- ErrorEvent
- Event
- EventSource
- EventTarget
- FieldSet
- File
- FileError
- FileReader
- FileReaderSync
- Form
- FormControl
- Form Data
- FormValidity
- Geocoordinates
- Geolocation
- GeolocationError
- Geoposition
- HashChangeEvent
- History
- HTMLCollection
- HTMLDocument
- HTMLEIement
- HTMLFormControlsCollection
- HTMLOptionsCollection
- IFrame
- Image
- ImageData
- Input
- jQuery jQuery 1.4
- KeyEvent
- Label
- Link
- Location
- MediaElement
- MediaError
- MessageChannel
- MessageEvent
- MessagePort
- Meter
- MouseEvent
- Navigator
- Node
- NodeList
- Option
- Output
- PageTransitionEvent
- PopStateEvent
- ProcessingInstruction
- Progress
- ProgressEvent
- Screen
- Script
- Select
- Storage
- StorageEvent
- Style
- Table
- TableCell
- TableRow
- TableSection
- Text
- TextArea
- TextMetrics
- TimeRanges
- TypedArray
- URL
- Video
- WebSocket
- Window
- Worker
- WorkerGlobalScope
- WorkerLocation
- WorkerNavigator
- XMLHttpRequest
- XMLHttpRequestUpload