パッケージ | flash.sensors |
クラス | public class Geolocation |
継承 | Geolocation EventDispatcher Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2, Flash Lite 4 |
デバイスでジオロケーションがサポートされている場合、このクラスを使用して、デバイスの最新の位置情報を取得できます。位置情報は、緯度と経度の座標形式(WGS-84座標系)でデバイスに表示されます。デバイスの位置が移動したときに、その移動(変更)に関する更新を受信できます。デバイスでこの機能がサポートされている場合、位置に関する最新の変更について、高度、精度、ヘッダー、速度およびタイムスタンプの情報を取得できます。
AIR プロファイルのサポート:この機能はモバイルデバイスでのみサポートされます。デスクトップまたは AIR for TV デバイスではサポートされません。Geolocation.isSupported
プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。
注意:iOS でジオロケーションを有効にするには、キーと値のペアを application xml ファイル内の infoAdditions
エレメントに追加します。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 | プロパティ |
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
メソッドを呼び出さずに使用することもできます。この場合、プラットフォームはデフォルトの間隔に基づいて更新を返します。
注意:GPS ユニットが含まれていない第 1 世代の iPhone では、update
イベントはごくまれにしか送出されません。このデバイスでは、Geolocation オブジェクトが最初に 1 つまたは 2 つの update
イベントを送出します。その後、情報が大幅に変更されたときに update
イベントを送出します。
パラメーター
interval:Number — 要求された更新間隔。interval <= 0 の場合、このメソッドを呼び出しても、効果はありません。
|
例外
ArgumentError — 指定された interval が 0 未満の場合
|
permissionStatus | イベント |
status | イベント |
flash.events.StatusEvent
プロパティ StatusEvent.type =
flash.events.StatusEvent.STATUS
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2, Flash Lite 4 |
Geolocation オブジェクトは、ロケーションセンサーへのアクセスがユーザーによって変更されたときに status
イベントを送出します。例えば、デバイスのプロンプトに応答して、アプリケーションによるロケーションデータへのアクセスをユーザーが禁止した場合、Geolcation オブジェクトによって status
イベントが送出されます。ロケーションセンサーを使用できない状態にステータスが変更されると、Geolocation の muted
プロパティは 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()
を使用して割り当てられたとき。ロケーションセンサーの現在の値を提供するために、登録済みのすべてのリスナーに、このイベントが 1 回配信されます。注意:デバイスに最新の既知のロケーションがある場合、AIR は最初のイベントを即座に送出します。そのため、最初に送出されたイベントに現在のロケーションが含まれていない場合があることをアプリケーションで想定しておく必要があります。 - デバイスで指定された間隔で、位置の更新がプラットフォームから取得されたとき。
- アプリケーションが位置の変更を捕捉できなかったとき(例えば、スリープ状態の後、アプリケーションのスリープが解除されたとき)。
注意:GPS ユニットが含まれていない第 1 世代の iPhone では、update
イベントはごくまれにしか送出されません。このデバイスでは、Geolocation オブジェクトが最初に 1 つまたは 2 つの update
イベントを送出します。その後、情報が大幅に変更されたときに update
イベントを送出します。
type
プロパティ(GeolocationEvent
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | データを受け取る Geolocation オブジェクトです。 |
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, 10:34 AM Z