Пакет | flash.sensors |
Класс | public class Geolocation |
Наследование | Geolocation EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2, Flash Lite 4 |
Если устройство поддерживает определение географического положения, этот класс можно использовать для получения данных о местоположении устройства. Географическое местоположение отображается на устройстве в виде координат широты и долготы (в стандартном формате WGS-84). Когда местоположение устройства меняется, отправляются обновления. Если устройство поддерживает такую функцию, можно получать сведения о высотной отметке, точности, направлении, скорости и метке времени последнего изменения местоположения.
Поддержка в профилях AIR: эта функция поддерживается только на мобильных устройствах. Она не поддерживается на компьютерах или в среде AIR для телевизионных устройств. Используйте свойство Geolocation.isSupported
, чтобы проверить наличие поддержки в cреде выполнения. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».
Примечание. Чтобы активировать класс Geolocation на устройствах с ОС iOS, добавьте пару «ключ-значение» в элемент infoAdditions
в файле приложения XML. Дополнительные сведения об элементе infoAdditions
см. в разделе Настройки iOS.
Дополнительно
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
isSupported : Boolean [статические] [только для чтения]
Указывает, доступен ли датчик местоположения на устройстве (true); в противном случае имеет значение false. | Geolocation | ||
locationAlwaysUsePermission : Boolean
Это свойство определяет тип разрешения на доступ к геолокации. | Geolocation | ||
muted : Boolean [только для чтения]
Указывает, запретил ли пользователь доступ к датчику местоположения: нет доступа (true), или доступ разрешен (false). | Geolocation | ||
permissionStatus : String [статические] [только для чтения] | Geolocation |
Метод | Определено | ||
---|---|---|---|
Создает новый экземпляр Geolocation. | Geolocation | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Посылает событие в поток событий. | EventDispatcher | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Geolocation | |||
Задает доступность динамического свойства для операций цикла. | Object | ||
Служит для указания интервала обновлений в миллисекундах. | Geolocation | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
Geolocation | ||||
Объект Geolocation отправляет события status, когда пользователь изменяет доступ к датчику местоположения. | Geolocation | |||
Событие update отправляется в ответ на получение обновлений от датчика местоположения. | Geolocation |
isSupported | свойство |
locationAlwaysUsePermission | свойство |
locationAlwaysUsePermission:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 29 |
Это свойство определяет тип разрешения на доступ к геолокации. Тип разрешения может быть "Всегда" или "При использовании". Если свойство имеет значение false
, оно запрашивает разрешение "При использовании"; в противном случае запрашивается разрешение "Всегда". Задайте свойство перед вызовом requestPermission()
. По умолчанию значение свойства равно false
.
Реализация
public function get locationAlwaysUsePermission():Boolean
public function set locationAlwaysUsePermission(value:Boolean):void
muted | свойство |
muted:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Указывает, запретил ли пользователь доступ к датчику местоположения: нет доступа (true
), или доступ разрешен (false
). При изменении этого значения отправляется событие status
.
Реализация
public function get muted():Boolean
Связанные элементы API
permissionStatus | свойство |
Geolocation | () | Конструктор |
public function Geolocation()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2, Flash Lite 4 |
Создает новый экземпляр Geolocation.
requestPermission | () | метод |
public function requestPermission():void
setRequestedUpdateInterval | () | метод |
public function setRequestedUpdateInterval(interval:Number):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2, Flash Lite 4 |
Служит для указания интервала обновлений в миллисекундах. Интервал обновления предназначен только в качестве ориентира для экономии заряда аккумулятора. Фактическое время между обновлениями датчика местоположения может быть больше или меньше этого значения. Любое изменение интервала обновления с помощью этого метода затрагивает все зарегистрированные прослушиватели события update
. Класс Geolocation можно использовать, не вызывая метод setRequestedUpdateInterval()
. В этом случае платформа будет передавать обновления с учетом собственного интервала по умолчанию.
Примечание. Устройства iPhone первого поколения, которые не оснащены модулем GPS, отправляют события update
только в редких случаях. На этих устройствах объект Geolocation сначала отправляет одно или два события update
. После этого он отправляет события update
в случае заметного изменения информации.
Параметры
interval:Number — запрошенный интервал обновления. Если interval <= 0, вызов этого метода игнорируется.
|
Выдает
ArgumentError — Значение свойства interval меньше нуля.
|
permissionStatus | Событие |
status | Событие |
flash.events.StatusEvent
свойство StatusEvent.type =
flash.events.StatusEvent.STATUS
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2, Flash Lite 4 |
Объект Geolocation отправляет события status
, когда пользователь изменяет доступ к датчику местоположения. Например, если в ответ на запрос устройства пользователь запрещает приложению обращаться к данным о местоположении, объект Geolocation отправляет событие status
. Когда состояние изменяется таким образом, что датчик местоположения становится недоступным, свойство muted
экземпляра Geolocation имеет значение true
.
type
для объекта события status
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
code | Описание состояния объекта. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
level | Категория сообщения, например, status , warning или error . |
target | Объект, сообщающий свое состояние. |
Связанные элементы API
update | Событие |
flash.events.GeolocationEvent
свойство GeolocationEvent.type =
flash.events.GeolocationEvent.UPDATE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2, Flash Lite 4 |
Событие update
отправляется в ответ на получение обновлений от датчика местоположения. Это событие отправляется при следующих обстоятельствах:
- когда добавляется новая функция прослушивателя с помощью метода
addEventListener()
, это событие отправляется один раз всем зарегистрированным прослушивателям для того, чтобы передать текущее значение датчика местоположения; Примечание. Если устройство находится в последнем известном месте, AIR отправляет первое событие немедленно. Код должен предусматривать вероятность того, что немедленно отправленное событие может не содержать текущего расположения. - каждый раз при получении обновлений датчика местоположения от платформы через установленные устройством интервалы;
- каждый раз, когда приложение пропускает изменение местоположения (например, когда приложение восстанавливается после спящего режима).
Примечание. Устройства iPhone первого поколения, которые не оснащены модулем GPS, отправляют события update
только в редких случаях. На этих устройствах объект Geolocation сначала отправляет одно или два события update
. После этого он отправляет события update
в случае заметного изменения информации.
type
для объекта события GeolocationEvent
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект Geolocation, получающий данные. |
update
класса GeoLocation по мере их поступления.
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.GeolocationEvent; import flash.events.MouseEvent; import flash.events.StatusEvent; import flash.sensors.Geolocation; import flash.text.TextField; import flash.text.TextFormat; public class GeolocationTest extends Sprite { private var geo:Geolocation; private var log:TextField; public function GeolocationTest() { super(); stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; setUpTextField(); if (Geolocation.isSupported) { geo = new Geolocation(); if (!geo.muted) { geo.addEventListener(GeolocationEvent.UPDATE, geoUpdateHandler); } geo.addEventListener(StatusEvent.STATUS, geoStatusHandler); } else { log.text = "Geolocation not supported"; } } public function geoUpdateHandler(event:GeolocationEvent):void { log.text = "latitude : " + event.latitude.toString() + "\n"; log.appendText("longitude : " + event.longitude.toString() + "\n"); } public function geoStatusHandler(event:StatusEvent):void { if (geo.muted) geo.removeEventListener(GeolocationEvent.UPDATE, geoUpdateHandler); else geo.addEventListener(GeolocationEvent.UPDATE, geoUpdateHandler); } private function setUpTextField():void { log = new TextField(); var format:TextFormat = new TextFormat("_sans", 24); log.defaultTextFormat = format; log.border = true; log.wordWrap = true; log.multiline = true; log.x = 10; log.y = 10; log.height = stage.stageHeight - 20; log.width = stage.stageWidth - 20; log.addEventListener(MouseEvent.CLICK, clearLog); addChild(log); } private function clearLog(event:MouseEvent):void { log.text = ""; } } }
Tue Jun 12 2018, 11:34 AM Z