当前位置: > > > Flex手机项目 - 获取gps定位信息,并通过百度地图显示位置

Flex手机项目 - 获取gps定位信息,并通过百度地图显示位置

flash,flex进行安卓或ios移动开发的时候,使用flash.sensors.Geolocation类,可以利用设备地理位置传感器获取GPS信息,可以获取的具体信息如下:
1,经度
2,纬度
3,高度
4,水平精度(米)
5,垂直精度(米)
6,速度
7,时间

下面是一个GPS定位系统的demo,可以定时获取位置信息,同时使用百度地图的API实时的在地图上显示位置。

效果图如下


代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
				 xmlns:s="library://ns.adobe.com/flex/spark" 
				 creationComplete="onCreationComplete()"
				 title="GPS定位系统">
	<fx:Script>
		<![CDATA[
			import flash.sensors.Geolocation;
			
			private var geolocation:Geolocation;
			
			private function onCreationComplete():void
			{     
				//判断是否支持gps定位
				if(Geolocation.isSupported)
				{
					geolocation = new Geolocation();
					geolocation.setRequestedUpdateInterval(5000); //更新时间间隔
					geolocation.addEventListener(GeolocationEvent.UPDATE, onUpdate);
					geolocationTxt.text = "gps链接成功!";
					if(!geolocation.muted){
						trace("无法使用gps!");
					}
				}
			}      
			
			private function onUpdate(e:GeolocationEvent):void
			{
				geolocationTxt.text = "经度: " + e.longitude.toString()  + "\n"
			                     	+ "纬度: " + e.latitude + "\n"
				                    + "高度: " + e.altitude + "\n"
				                    + "水平精度(米): " + e.horizontalAccuracy + "\n"
				                    + "垂直精度(米): " + e.verticalAccuracy + "\n"
				                    + "速度: " + e.speed + "\n"
				                    + "时间: " + e.timestamp; 
				
				baiduImage.source = "http://api.map.baidu.com/staticimage?center=" 
					               + e.longitude + "," 
					               + e.latitude + "&markers="
								   + e.longitude + "," 
								   + e.latitude 
								   + "&zoom=14&width=420&height=300";
			}
		]]>
	</fx:Script>
	
	<s:layout>
		<s:VerticalLayout paddingLeft="20" paddingRight="20" paddingBottom="20" paddingTop="20" />
	</s:layout>
	
	<s:Label text="定位数据:" />
	<s:Group width="100%">
		<s:Rect  id="bg" width="100%" height="100%">
			<s:fill><s:SolidColor color="0xffffff"/></s:fill>
			<s:stroke><s:SolidColorStroke color="0xc0c0c0" weight="2"/></s:stroke>
		</s:Rect>
		<s:Label id="geolocationTxt" 
				 paddingLeft="10" paddingBottom="10" paddingTop="10" paddingRight="10"/>
	</s:Group>
	
	<s:Label text="百度地图:" paddingTop="10"/>
	<s:Image id="baiduImage" />
</s:View>
评论2
  • 2楼
    2016-05-09 13:50
    Felix_泡泡

    -_-! 航哥,我说的是关于百度地图定位及显示的Swift教程。。。

    站长回复

    哦,目前我还没写过百度地图相关的Swift教程。

  • 1楼
    2016-04-29 11:22
    Felix_泡泡

    木有IOS的教程?

    站长回复

    有的,你点右侧菜单里的“Swift”分类就是iOS教程。