| Package | flash.sensors |
| Class | public class Geolocation |
| Inheritance | Geolocation EventDispatcher Object |
| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 2, Flash Lite 4 |
If a device supports geolocation, you can use this class to obtain the current geographical location of the device. The geographical location is displayed on the device in the form of latitudinal and longitudinal coordinates (in WGS-84 standard format). When the location of the device changes, you can receive updates about the changes. If the device supports this feature, you will be able to obtain information about the altitude, accuracy, heading, speed, and timestamp of the latest change in the location.
AIR profile support: This feature is supported
only on mobile devices. It is not supported on desktop or AIR for TV devices. You can test
for support at run time using the Geolocation.isSupported property. See
AIR Profile Support for more information regarding API support across multiple profiles.
Note: To enable Geolocation in iOS, ensure that you add a key-value pair to the
infoAdditions element in the application xml file.See
iOS Settings for more information on the infoAdditions element.
More examples
Learn more
| Property | Defined By | ||
|---|---|---|---|
![]() | constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | |
| desiredAccuracy : String
This property determines the accuracy of the geolocation data on iOS. | Geolocation | ||
| isSupported : Boolean [static] [read-only]
Whether a location sensor is available on the device (true); otherwise false. | Geolocation | ||
| locationAlwaysUsePermission : Boolean
This property determines the access permission type usage of geolocation. | Geolocation | ||
| muted : Boolean [read-only]
Specifies whether the user has denied access to the geolocation (true)
or allowed access (false). | Geolocation | ||
| pausesLocationUpdatesAutomatically : Boolean
This property determines whether the geolocation services should pause due to app inactivity
when application goes into background (on iOS). | Geolocation | ||
| permissionStatus : String [static] [read-only] | Geolocation | ||
| Method | Defined By | ||
|---|---|---|---|
Creates a new Geolocation instance. | Geolocation | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event. | EventDispatcher | |
![]() |
Dispatches an event into the event flow. | EventDispatcher | |
![]() |
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | |
![]() |
Indicates whether an object has a specified property defined. | Object | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | |
![]() |
Indicates whether the specified property exists and is enumerable. | Object | |
![]() |
Removes a listener from the EventDispatcher object. | EventDispatcher | |
| Geolocation | |||
![]() |
Sets the availability of a dynamic property for loop operations. | Object | |
Used to set the time interval for updates, in milliseconds. | Geolocation | ||
![]() |
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
![]() |
Returns the string representation of the specified object. | Object | |
![]() |
Returns the primitive value of the specified object. | Object | |
![]() |
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher | |
| Event | Summary | Defined By | ||
|---|---|---|---|---|
![]() | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | ||
![]() | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | ||
| Geolocation | ||||
| The Geolocation object dispatches status events when the user changes access to the location sensor. | Geolocation | |||
| The update event is dispatched in response to updates from the location sensor. | Geolocation | |||
| Constant | Defined By | ||
|---|---|---|---|
| LOCATION_ACCURACY_BEST : String = "locationAccuracyBest" [static]
The best level of accuracy available.
| Geolocation | ||
| LOCATION_ACCURACY_BEST_FOR_NAVIGATION : String = "locationAccuracyBestForNavigation" [static]
The highest possible accuracy that uses additional sensor data to facilitate navigation apps.
| Geolocation | ||
| LOCATION_ACCURACY_HUNDRED_METERS : String = "locationAccuracyHundredMeters" [static]
Accurate to within one hundred meters.
| Geolocation | ||
| LOCATION_ACCURACY_KILOMETER : String = "locationAccuracyKilometer" [static]
Accurate to the nearest kilometer.
| Geolocation | ||
| LOCATION_ACCURACY_NEAREST_TEN_METERS : String = "locationAccuracyNearestTenMeters" [static]
Accurate to within ten meters of the desired target.
| Geolocation | ||
| LOCATION_ACCURACY_THREE_KILOMETERS : String = "locationAccuracyThreeKilometers" [static]
Accurate to the nearest three kilometers.
| Geolocation | ||
desiredAccuracy | property |
desiredAccuracy:String| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
This property determines the accuracy of the geolocation data on iOS.
Setting pausesLocationUpdatesAutomatically to false
can cause battery drain as it keeps fetching geolocation data.
Accuracy can be set to LOCATION_ACCURACY_BEST_FOR_NAVIGATION, LOCATION_ACCURACY_BEST,
LOCATION_ACCURACY_NEAREST_TEN_METERS, LOCATION_ACCURACY_HUNDRED_METERS, LOCATION_ACCURACY_KILOMETER
or LOCATION_ACCURACY_THREE_KILOMETERS based on the app's usage scenario.
Set the property after calling requestPermission() and enabling location services in background.
The default value of the property is LOCATION_ACCURACY_BEST which is the best level of accuracy available.
Implementation
public function get desiredAccuracy():String public function set desiredAccuracy(value:String):voidisSupported | property |
locationAlwaysUsePermission | property |
locationAlwaysUsePermission:Boolean| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 29 |
This property determines the access permission type usage of geolocation.
The permission type can be Always or When In Use. If the property is set to false,
it requests When In Use permission else it requests Always use permission.
Set the property before calling requestPermission().
The default value of the property is false.
Implementation
public function get locationAlwaysUsePermission():Boolean public function set locationAlwaysUsePermission(value:Boolean):void muted | property |
muted:Boolean [read-only] | Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 2 |
Specifies whether the user has denied access to the geolocation (true)
or allowed access (false). When this value changes,
a status event is dispatched.
Implementation
public function get muted():BooleanRelated API Elements
pausesLocationUpdatesAutomatically | property |
pausesLocationUpdatesAutomatically:Boolean| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
This property determines whether the geolocation services should pause due to app inactivity
when application goes into background (on iOS).
The value can be true or false. If the property is set to false,
it ensures continous updates of geolocation services.
Set the property after calling requestPermission() and enabling location services in background.
The default value of the property is true.
Implementation
public function get pausesLocationUpdatesAutomatically():Boolean public function set pausesLocationUpdatesAutomatically(value:Boolean):voidpermissionStatus | property |
Geolocation | () | Constructor |
public function Geolocation()| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 2, Flash Lite 4 |
Creates a new Geolocation instance.
requestPermission | () | method |
public function requestPermission():voidsetRequestedUpdateInterval | () | method |
public function setRequestedUpdateInterval(interval:Number):void| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 2, Flash Lite 4 |
Used to set the time interval for updates, in milliseconds. The update interval is only used as a
hint to conserve the battery power. The actual time between location updates may be greater or
lesser than this value.Any change in the update interval using this method
affects all registered update event listeners. The Geolocation class
can be used without calling the setRequestedUpdateInterval method.
In this case, the platform will return updates based on its default interval.
Note: First-generation iPhones, which do not include a GPS unit, dispatch
update events only occasionally. On these devices, a Geolocation object initially
dispatches one or two update events. It then dispatches update events
when information changes noticeably.
Parameters
interval:Number — requested update interval. If interval <= 0, then any call to this method
has no effect.
|
Throws
ArgumentError — The specified interval is less than zero.
|
permissionStatus | Event |
status | Event |
flash.events.StatusEventproperty StatusEvent.type =
flash.events.StatusEvent.STATUS| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 2, Flash Lite 4 |
The Geolocation object dispatches status events when the user changes access
to the location sensor. For example, if, in response to a device prompt, the user prevents the
application from accessing location data, the Geolcation object dispatches a status
event. When the status changes to a state where the location sensor is not available, the
muted property of the Geolocation instance is true.
type property of a status event object.
This event has the following properties:
| Property | Value |
|---|---|
bubbles | false |
cancelable | false; there is no default behavior to cancel. |
code | A description of the object's status. |
currentTarget | The object that is actively processing the Event object with an event listener. |
level | The category of the message, such as "status", "warning" or "error". |
target | The object reporting its status. |
Related API Elements
update | Event |
flash.events.GeolocationEventproperty GeolocationEvent.type =
flash.events.GeolocationEvent.UPDATE| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 2, Flash Lite 4 |
The update event is dispatched in response to updates from the location sensor. The event
is dispatched under the following circumstances:
- When a new listener function is attached through
addEventListener(), this event is delivered once to all the registered listeners to provide the current value of the location. Note: AIR dispatches the first event immediately if the device has a last known location; your code must be aware that the initially dispatched event may not contain the current location. - Whenever location updates are obtained from the platform at device determined intervals.
- Whenever the application misses a change in the location (for example, the application is waking up after being asleep).
Note: First-generation iPhones, which do not include a GPS unit, dispatch
update events only occasionally. On these devices, a Geolocation object initially
dispatches one or two update events. It then dispatches update events
when information changes noticeably.
type property of a GeolocationEvent event object.
This event has the following properties:
| Property | Value |
|---|---|
bubbles | false |
cancelable | false; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the event object with an event listener. |
target | The Geolocation object receiving data. |
LOCATION_ACCURACY_BEST | Constant |
public static const LOCATION_ACCURACY_BEST:String = "locationAccuracyBest"| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
The best level of accuracy available.
LOCATION_ACCURACY_BEST_FOR_NAVIGATION | Constant |
public static const LOCATION_ACCURACY_BEST_FOR_NAVIGATION:String = "locationAccuracyBestForNavigation"| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
The highest possible accuracy that uses additional sensor data to facilitate navigation apps.
LOCATION_ACCURACY_HUNDRED_METERS | Constant |
public static const LOCATION_ACCURACY_HUNDRED_METERS:String = "locationAccuracyHundredMeters"| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
Accurate to within one hundred meters.
LOCATION_ACCURACY_KILOMETER | Constant |
public static const LOCATION_ACCURACY_KILOMETER:String = "locationAccuracyKilometer"| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
Accurate to the nearest kilometer.
LOCATION_ACCURACY_NEAREST_TEN_METERS | Constant |
public static const LOCATION_ACCURACY_NEAREST_TEN_METERS:String = "locationAccuracyNearestTenMeters"| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
Accurate to within ten meters of the desired target.
LOCATION_ACCURACY_THREE_KILOMETERS | Constant |
public static const LOCATION_ACCURACY_THREE_KILOMETERS:String = "locationAccuracyThreeKilometers"| Language Version: | ActionScript 3.0 |
| Runtime Versions: | AIR 32 |
Accurate to the nearest three kilometers.
update events
as they are received.
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 = "";
}
}
}
Thu Dec 6 2018, 01:12 PM -08:00
Hide Inherited Public Properties
Show Inherited Public Properties