| Пакет | 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():voidsetRequestedUpdateInterval | () | метод |
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
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства