Pakiet | flash.sensors |
Klasa | public class Geolocation |
Dziedziczenie | Geolocation EventDispatcher Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Lite 4 |
Jeśli urządzenie obsługuje geolokalizację, można użyć tej klasy do odczytania jego aktualnego położenia geograficznego. Położenie geograficzne jest wyświetlane na urządzeniu w postaci szerokości i długości geograficznej (w standardowym formacie WGS-84). Gdy położenie urządzenia zmienia się, aplikacja może otrzymywać uaktualnione informacje. Jeśli urządzenie obsługuje tę funkcję, możliwe będzie uzyskanie informacji o wysokości nad poziomem morza, dokładności, kierunku, szybkości i znaczniku czasu ostatniej zmiany położenia.
Obsługa profilów AIR: Ta funkcja jest obsługiwana tylko na urządzeniach przenośnych. Nie jest obsługiwana na komputerach stacjonarnych ani na urządzeniach telewizyjnych ze środowiskiem AIR. W czasie wykonywania można sprawdzić, czy ta funkcja jest obsługiwana, odczytując właściwość Geolocation.isSupported
. Więcej informacji o obsłudze elementów interfejsu API w różnych profilach można znaleźć w sekcji Obsługa profilów aplikacji AIR.
Uwaga: Aby włączyć usługę geolokalizacji w systemie iOS, należy dodać parę wartości-kluczy do elementu infoAdditions
w pliku xml aplikacji. Punkt Ustawienia iOS zawiera więcej informacji na temat elementu infoAdditions
.
Więcej informacji
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
isSupported : Boolean [statyczny] [tylko do odczytu]
Określa, czy w urządzeniu jest dostępny czujnik położenia (true), czy nie (false). | Geolocation | ||
locationAlwaysUsePermission : Boolean
Ta właściwość określa użycie geololokalizacji dla typu uprawnień dostępu. | Geolocation | ||
muted : Boolean [tylko do odczytu]
Określa, czy użytkownik zabronił dostępu do funkcji geolokalizacji (true), czy zezwolił na dostęp (false). | Geolocation | ||
permissionStatus : String [statyczny] [tylko do odczytu] | Geolocation |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy nowe wystąpienie obiektu Geolocation. | Geolocation | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Geolocation | |||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Służy do określania odstępu między uaktualnieniami w milisekundach. | Geolocation | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
Zdarzenie | Podsumowanie | Zdefiniowane przez | ||
---|---|---|---|---|
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny. | EventDispatcher | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Geolocation | ||||
Obiekt Geolocation wywołuje zdarzenia „status”, gdy użytkownik zmienia uprawnienia dostępu do czujnika lokalizacji. | Geolocation | |||
Zdarzenie „update” jest wywoływane w odpowiedzi na uaktualnienia informacji z czujnika lokalizacji. | Geolocation |
isSupported | właściwość |
locationAlwaysUsePermission | właściwość |
locationAlwaysUsePermission:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 29 |
Ta właściwość określa użycie geololokalizacji dla typu uprawnień dostępu. Dostępne typy uprawnień to Zawsze i Podczas korzystania. Jeśli właściwość ma wartość false
, zażąda uprawnień Podczas korzystania, a w innym przypadku zażąda uprawnień Zawsze. Przed wywołaniem obiektu requestPermission()
należy ustawić właściwość. Wartość domyślna właściwości to false
.
Implementacja
public function get locationAlwaysUsePermission():Boolean
public function set locationAlwaysUsePermission(value:Boolean):void
muted | właściwość |
muted:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2 |
Określa, czy użytkownik zabronił dostępu do funkcji geolokalizacji (true
), czy zezwolił na dostęp (false
). Jeśli wartość ulegnie zmianie, wywołane zostanie zdarzenie status
.
Implementacja
public function get muted():Boolean
Powiązane elementy interfejsu API
permissionStatus | właściwość |
Geolocation | () | Konstruktor |
public function Geolocation()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Lite 4 |
Tworzy nową instancję obiektu Geolocation.
requestPermission | () | metoda |
public function requestPermission():void
setRequestedUpdateInterval | () | metoda |
public function setRequestedUpdateInterval(interval:Number):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Lite 4 |
Służy do określania odstępu między uaktualnieniami w milisekundach. Odstęp między uaktualnieniami jest jedynie wartością orientacyjną, której uwzględnienie ma na celu ograniczenie zużycia energii. Rzeczywisty odstęp czasu między uaktualnieniami położenia może być większy lub mniejszy od tej wartości. Każda zmiana odstępu uaktualnień dokonana za pomocą tej metody na wpływ na wszystkie zarejestrowane detektory zdarzenia update
. Klasy Geolocation można używać bez konieczności wywoływania metody setRequestedUpdateInterval
. W takim przypadku platforma będzie przekazywać uaktualnienia z własną, domyślną częstotliwością.
Uwaga: W przypadku telefonów iPhones pierwszej generacji, które nie posiadają urządzenia GPS, zdarzenia update
są wywoływane sporadycznie. Na tych telefonach obiekt Geolocation początkowo wywołuje jedno lub dwa zdarzenia update
. A następnie wywołuje zdarzenie update
w momencie wystąpienia widocznych zmian informacji.
Parametry
interval:Number — Żądany odstęp między uaktualnieniami. Jeśli interval <= 0, wywołanie tej metody nie odnosi skutku.
|
Zgłasza
ArgumentError — Podana wartość odstępu (interval ) jest mniejsza od zera.
|
permissionStatus | Zdarzenie |
status | Zdarzenie |
flash.events.StatusEvent
właściwość StatusEvent.type =
flash.events.StatusEvent.STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Lite 4 |
Obiekt Geolocation wywołuje zdarzenia status
, gdy użytkownik zmienia uprawnienia dostępu do czujnika lokalizacji. Na przykład, jeśli w odpowiedzi na monit urządzenia użytkownik zabroni aplikacji dostępu do danych o lokalizacji, obiekt Geolcation wywoła zdarzenie status
. Gdy stan zmienia się na taki, w którym czujnik lokalizacji nie jest dostępny, właściwość muted
wystąpienia klasy Geolocation przyjmuje wartość true
.
type
obiektu zdarzenia status
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
code | Opis stanu obiektu. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
level | Kategoria komunikatu, np. "status" , "warning" lub "error" . |
target | Obiekt informujący o swoim stanie. |
Powiązane elementy interfejsu API
update | Zdarzenie |
flash.events.GeolocationEvent
właściwość GeolocationEvent.type =
flash.events.GeolocationEvent.UPDATE
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2, Flash Lite 4 |
Zdarzenie update
jest wywoływane w odpowiedzi na uaktualnienia informacji z czujnika położenia. Zdarzenie jest wywoływane w następujących okolicznościach:
- Gdy za pomocą metody
addEventListener()
zostanie podłączona nowa funkcja detektora zdarzeń, to zdarzenie jest kierowane jeden raz do wszystkich zarejestrowanych detektorów, przez co otrzymują one aktualne dane o położeniu. Uwaga: Środowisko AIR wywołuje pierwsze zdarzenie natychmiast, jeśli urządzenie ma ostatnie znane położenie. Kod musi uwzględniać fakt, że pierwsze wywołane zdarzenie może zawierać bieżące połączenie. - Za każdym razem, gdy z platformy odebrane zostanie uaktualnienie danych o położeniu (odbywa się to z częstotliwością określoną przez urządzenie).
- Za każdym razem, gdy aplikacja pominie zmianę położenia (np. gdy aplikacja wyjdzie z trybu uśpienia).
Uwaga: W przypadku telefonów iPhones pierwszej generacji, które nie posiadają urządzenia GPS, zdarzenia update
są wywoływane sporadycznie. Na tych telefonach obiekt Geolocation początkowo wywołuje jedno lub dwa zdarzenia update
. A następnie wywołuje zdarzenie update
w momencie wystąpienia widocznych zmian informacji.
type
obiektu zdarzenia GeolocationEvent
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt Geolocation odbierający dane. |
update
.
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, 12:06 PM Z