当前位置:文档之家› 基于Android系统的电子地图运动轨迹绘制的研究与实现

基于Android系统的电子地图运动轨迹绘制的研究与实现

基于Android系统的电子地图运动轨迹绘制的研究与实现
随着智能手机在人们的生活中的日益普及,基本是每个人都有属于自己的智能手机,于是手机软件的多样化日渐成为了一个重要的课题。

为人们的日常生活进行导航的软件也逐渐占据了越来越重要的地位。

如果研发一种具备通过百度地图和GSP定位来绘制运动轨迹,将提高用户手机更详细的信息。

文章详细介绍了百度地图的机制,并介绍了定位的实现。

而且通过两者的结合来绘制运动轨迹,极大地方便用户的使用。

标签:Android;百度地图;定位;轨迹绘制
1 引言
Android是以Linux为基础的开放源码操作系统,主要用于便携设备。

作为谷歌企业战略的重要组成部分,基于Android的各种移动设备已被广大的用户使用。

因此使得基于Android平台的开发得到了巨大的发展。

手机电子地图不仅仅是一种将数字化技术应用到传统地图当中而产生的新型地图模式,还是一种现代化的电子信息产品,其中融合了计算机技术、GIS 技术和网络技术。

电子地图有效利用了GPS 导航系统的定位信号,在其基础功能上进行扩展,使得GPS 导航系统的功能呈现多样化;此外,电子地图将导航定位信号与周围的地理形势进行结合,动态并直观地对机动车终端进行管理,达到便捷交通、方便出行的目的。

在Android系统的移动设备上,Google地图和百度地图的应用最为广泛,对于开发者来说,百度地图更容易实现,然而百度开发没有现成的录制轨迹,则在运动过程中进行周期定位,绘制有型记录点,成为一条有方向的轨迹。

2 实现方法
2.1 电子地图的机制
电子地图是包含空间位置地理坐标的数字地图,能够利用空间定位系统的电子地图集数据集,它不但是整个系统与用户的交互接口,而且将导航定位信号与周围的地理形势进行结合,动态并直观地对机动车终端进行管理。

电子地图主要分为两个单元:图设计单元和地图浏览单元。

地图设计单元主要是对数据进行采集、处理、存储以及管理,而电子浏览单元主要让用户能操作电子地图并使用电子地图的各个功能模块,该单元不仅能让用户浏览静态的电子地图,还能让用户了解基于电子地图的动态变化信息。

2.2 电子地图的实现
电子地图是直接源码编译非常困难,可以通过调用百度地图API来实现。

通过百度地图API导入到项目中,继承API中的MapActivity基类并且把地图配置处相关处理代码放在基类中,然后在实现此基类的子类中专心实现业务的相关逻辑。

实现地图的核心代码如下:
mapView= (MapView)findViewById(R.id.bmapView);
bMapManager=new BMapManager(MainActivity.this);
bMapManager.init(keyString,new MKGeneralListener(){
public void onGetPermissionState(int arg0){
if(arg0==300){ Toast.makeText(MainActivity.this,“输入的Key有误!请核实!!”,0).show();} }
public void onGetNetworkState(int arg0){ }
});
this.initMapActivity(bMapManager);
,,,,
2.3 GPS定位原理
GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。

如图所示,假设t时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接收机的时间△t,再加上接收机所接收到的卫星星历等其它数据可以确定以下四个方程式:
上述四个方程式中待测点坐标x、y、z和Vto为未知参数,其中
di=c△ti (i=1、2、3、4)。

di (i=1、2、3、4)分别为卫星1、卫星2、卫星3、卫星4到接收机之间的距离。

△ti (i=1、2、3、4)分别为卫星1、卫星2、卫星3、卫星4的信号到达接收机所经历的时间。

c为GPS信号的传播速度(即光速)。

四个方程式中各个参数意义如下:
x、y、z 为待测点坐标的空间直角坐标。

xi、yi、zi (i=1、2、3、4)分别为卫星1、卫星2、卫星3、卫星4在t 时刻的空间直角坐标,可由卫星导航电文求得。

Vti(i=1、2、3、4)分别为卫星1、卫星2、卫星3、卫星4的卫星钟的钟差,由卫星星历提供。

Vto为接收机的钟差。

由以上四个方程即可解算出待测点的坐标x、y、z和接收机的钟差Vto 。

2.3 运动轨迹的实现与绘制
轨迹的绘制首先在定位的基础上实现,机理在于短周期内的自动绘制记录点,将这个点按顺序连起来形成以来有方向的线,实现步骤如下:
(1)开启百度地图。

(2)开始定位。

(3)时时更新地图,将定位点记录下来。

(4)将记录点绘制成一条曲线。

核心代码如下:
public void start(){
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true);
option.setAddrType(”detail”);
option.setCoorType(”gcj02”);
option.setScanSpan(3000);
option.disableCache(true);// 禁止启用缓存定位
mLocationClient.setLocOption(option);
if (!mLocationClient.isStarted())
{ mLocationClient.start();}
return;
}
3 测试结果
3.1 地图显示测试
(1)开启手机移动网络或WIFI。

(2)运行开发的地图应用。

(3)显示地图,效果如图1。

4 结束语
至今为止,Android手机操作系统已经成为市场占有率第一的智能手机系统,学习和掌握Android平台手机相关应用的开发对人们有非常重要的意义。

文章以基于Android平台的的手机地图开发,使用GPS位置定位技术和百度地图提供的相关接口将移动设备运动轨迹的绘制的设计与实现。

参考文献
[1]帅冬冬.基于android手机的电子地图的应用开发[D].南京邮电大学,2013.
[2]谢思健,董懿,杨昱.智能手机通过甩动完成资料快速传递方法的研究与实现[J].科技创新与应用,2013,18:70-71.
[3]赵士田.基于Android平台的运动辅助软件的设计与实现[D].山东大学,2011.
[4]冯越.Android操作系统的安全性研究[J].金融科技时代,2012,06:101-103.
[5]公磊.基于Android的GPS测量系统开发[D].南昌大学,2008.
杨昱(1969-),男,副教授,研究方向:软件开发,文本检索。

相关主题