Flex AIR应用GPS定位功能(Android和IOS)
来源:互联网 发布:播音腔怎么练 知乎 编辑:程序博客网 时间:2024/05/17 22:14
说明:
使用AIR进行GPS定位功能实现时,会经常判断GPS是否打开。一般的官方或者书上的介绍的方法,测试后,只能对Android系统进行判断,而对ios系统则无法进行判断。
经过研究测试,终于解决实现了能够同时适应于Android和ios系统的GPS定位功能。
实现:
1) 实例化Geolocation类,并添加监听,用于获取经纬度信息
注:geolocation = new Geolocation(); 该实例对象是全局声明,但必须是局部实例化,而不能把它声明为全局的变量实例化(即不能放在方法外)。这是因为 如果Geolocation对象被局部声明 (在一个方法内部),则该对象有可能被作为垃圾回收。
if (Geolocation.isSupported) 可用于判断该设备是否只是定位功能。
if (!geolocation.muted)可判断Android版本的GPS是否打开,对IOS版无效。
所以,在if (!geolocation.muted) 之后。需要添加另一个监听geolocation.addEventListener(StatusEvent.STATUS, geoStatusHandler); 事件为:对象将在设备(如摄像头或麦克风)或对象(如 LocalConnection 对象)报告其状态时调度 StatusEvent 对象。
该事件监听必须添加,添加了这个监听后,针对于ios设备,会在你启动该功能时,提示你是否要打开GPS定位功能。
2) 定位监听:
注: geolocation.addEventListener(GeolocationEvent.UPDATE, geoUpdateHandler); 是为设备添加事件监听,用于获取设备的经纬度信息;获取的经纬度值可以通过GeolocationEvent类的latitude和longitude属性方法得到。这里说明,当获取到值之后,需要把监听移除,避免设备不停的去获取经纬度值。
3) 设备权限和配置:
针对于android系统,需要添加定位和网络权限,访问GPS位置数据时需要ACCESS_FINE_LOCATION 许可。 而在访问无线网络位置数据时需要ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION。
针对于ios系统,你需要在应用程序描述符文件中添加两处设置:
具体关于AIR 地理定位API(Geolocation API)的使用方法,可以参见:
使用AIR进行GPS定位功能实现时,会经常判断GPS是否打开。一般的官方或者书上的介绍的方法,测试后,只能对Android系统进行判断,而对ios系统则无法进行判断。
经过研究测试,终于解决实现了能够同时适应于Android和ios系统的GPS定位功能。
实现:
1) 实例化Geolocation类,并添加监听,用于获取经纬度信息
注:geolocation = new Geolocation(); 该实例对象是全局声明,但必须是局部实例化,而不能把它声明为全局的变量实例化(即不能放在方法外)。这是因为 如果Geolocation对象被局部声明 (在一个方法内部),则该对象有可能被作为垃圾回收。
if (Geolocation.isSupported) 可用于判断该设备是否只是定位功能。
if (!geolocation.muted)可判断Android版本的GPS是否打开,对IOS版无效。
所以,在if (!geolocation.muted) 之后。需要添加另一个监听geolocation.addEventListener(StatusEvent.STATUS, geoStatusHandler); 事件为:对象将在设备(如摄像头或麦克风)或对象(如 LocalConnection 对象)报告其状态时调度 StatusEvent 对象。
该事件监听必须添加,添加了这个监听后,针对于ios设备,会在你启动该功能时,提示你是否要打开GPS定位功能。
2) 定位监听:
注: geolocation.addEventListener(GeolocationEvent.UPDATE, geoUpdateHandler); 是为设备添加事件监听,用于获取设备的经纬度信息;获取的经纬度值可以通过GeolocationEvent类的latitude和longitude属性方法得到。这里说明,当获取到值之后,需要把监听移除,避免设备不停的去获取经纬度值。
3) 设备权限和配置:
针对于android系统,需要添加定位和网络权限,访问GPS位置数据时需要ACCESS_FINE_LOCATION 许可。 而在访问无线网络位置数据时需要ACCESS_FINE_LOCATION 或ACCESS_COARSE_LOCATION。
针对于ios系统,你需要在应用程序描述符文件中添加两处设置:
具体关于AIR 地理定位API(Geolocation API)的使用方法,可以参见:
http://www.adobe.com/cn/devnet/air/quick_start_as/quickstarts/qs_as_geolocation_api.html
0 0
- Flex AIR应用GPS定位功能(Android和IOS)
- Flex AIR应用拍照功能(Android和IOS版本)
- Flex AIR应用换肤功能(Android和IOS)
- iOS应用后台运行GPS定位功能的实现
- iOS应用后台运行GPS定位功能的实现
- Android实现GPS定位功能
- Android 2.1 GPS定位和拍照功能代码
- 梅特勒杯创新大赛(三):Android的GPS定位功能
- AIR Native Extension:在Android的Flex应用中调用Android Intent实现分享功能
- Android GPS和Network定位
- IOS GPS(定位城市)
- Android GPS定位记录发送功能
- Android Gps定位和网络定位
- Android实现定位---GPS应用开发
- 【Android架构GPS篇】之GPS定位应用层流程
- 【Android架构GPS篇】之GPS定位应用层流程
- GPS定位功能
- Android获取当前位置(GPS和网络定位)
- 数据包经由路由转发时源、目的IP地址及MAC地址变化情况
- APK Crack
- Struts2返回JSON
- c++内存泄露
- Spring中属性文件properties的读取与使用
- Flex AIR应用GPS定位功能(Android和IOS)
- Storm实战之常用命令
- oracle在unix中的环境变量
- Apache自带ab性能测试工具学习(转自jesse的博客以供以后查询)
- poj 2479 Maximum sum(求最大子段和的延伸)
- 找出单词
- java注解
- 初学者关于javascript的一点理解
- eclipse中工程编译发布到tomcat server时xml发布到classes下中文乱码问题