패키지 | 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에서 Geolocation을 활성화하려면 응용 프로그램 xml 파일의 infoAdditions
요소에 키-값 쌍을 추가해야 합니다. infoAdditions
요소에 대한 자세한 내용은 iOS 설정을 참조하십시오.
추가 정보
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
isSupported : Boolean [정적] [읽기 전용]
장치에서 위치 센서를 사용할 수 있으면 true이고, 그렇지 않으면 false입니다. | Geolocation | ||
locationAlwaysUsePermission : Boolean
이 속성에 따라 geolocation의 액세스 권한 유형 사용이 결정됩니다. | 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 |
이 속성에 따라 geolocation의 액세스 권한 유형 사용이 결정됩니다. 권한 유형은 Always 또는 When In Use일 수 있습니다. 이 속성이 false
로 설정되어 있으면 When In Use 권한을 요청하고, 그렇지 않으면 Always 사용 권한을 요청합니다. 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
이벤트 리스너에 영향을 줍니다. setRequestedUpdateInterval
메서드를 호출하지 않고 Geolocation 클래스를 사용할 수 있습니다. 이 경우 플랫폼은 기본 간격에 따라 업데이트를 반환합니다.
참고: GPS 유닛을 포함하지 않는 1세대 iPhone의 경우에는 update
이벤트를 가끔씩만 전달합니다. 이러한 장치에서 Geolocation 객체는 처음에 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
로 설정됩니다.
status
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
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에서 첫 번째 이벤트를 즉시 전달합니다. 코드에서 처음에 전달된 이벤트에 현재 위치가 포함될 수 없음을 인식해야 합니다.- 장치에 지정된 간격으로 플랫폼에서 위치 업데이트를 가져올 때마다 전달됩니다.
- 절전 모드 후 응용 프로그램이 활성화되는 경우와 같이 응용 프로그램이 위치 변경 내용을 놓칠 때마다 전달됩니다.
참고: GPS 유닛을 포함하지 않는 1세대 iPhone의 경우에는 update
이벤트를 가끔씩만 전달합니다. 이러한 장치에서 Geolocation 객체는 처음에 update
이벤트를 한두 개 전달합니다. 그런 다음 정보가 눈에 띄게 변경되는 경우 update
이벤트를 전달합니다.
GeolocationEvent
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
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, 03:17 PM Z