Android平台下基于百度地图API的地图导航设计

合集下载

基于Android平台下基于百度地图API的地图导航设计毕业论文

基于Android平台下基于百度地图API的地图导航设计毕业论文

本科毕业论文(设计)题目Android平台下基于百度地图API的地图导航设计专业电子信息科学与技术作者姓名刘茂强学号**********单位物理科学与信息工程学院指导教师郎丰法2014 年 05月教务处编原创性声明本人郑重声明:所提交的学位论文是本人在导师指导下,独立进行研究取得的成果。

除文中已经引用的内容外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得聊城大学或其他教育机构的学位证书而使用过的材料。

对本文的研究作出重要贡献的个人和集体,均在文中以明确的方式表明。

本人承担本声明的相应责任。

学位论文作者签名:日期:指导教师签名:日期:目录前言 (9)1.绪论 (10)1.1 背景及意义 (10)1.2 研究现状 (10)1.3 研究课题主要内容 (11)1.3.1 地点搜索和位置定位 (11)1.3.2 附近搜索 (11)1.3.3 路线规划 (11)1.3.4 公交线路查询 (11)1.3.5 GPS导航 (11)1.4 论文结构 (11)2.Android平台与开发环境 (13)2.1 Android系统 (13)2.1.1 后缀简介 (13)2.1.2 应用组件 (13)2.1.3 系统运行库 (14)2.2 Eclipse (14)2.2.1 基本介绍 (14)2.2.2 主要组成 (15)2.2.3 软件开发包 (15)2.3 Android开发环境搭建 (15)3.相关配置和框架结构 (16)3.1 工程配置 (16)3.1.1 Android SDK的配置 (16)3.1.2 定位SDK的配置 (16)3.1.3 导航SDK的配置 (16)3.2 密钥申请 (17)3.2.1 密钥简介 (17)3.2.2 申请步骤 (17)3.3 配置AndroidManisfet.xml (19)3.3.1权限配置 (19)3.3.2 添加对应的开发密钥 (19)3.3.3 声明service组件 (19)3.4 程序结构 (19)4.主页面设计 (21)4.1 基本配置 (21)4.1.1 配置main.xml (21)4.1.2 配置AndroidManifest.xml (21)4.2 MainActivity代码设计 (21)4.2.1创建地图MainActivity,并import相关类 (22)4.2.2 MainActivity变量定义 (22)4.2.3 MainActivity主要变量初始化 (22)4.2.4 各控件设置 (22)4.2.5 选择菜单 (23)4.2.6 搜索事件处理 (24)4.2.7 定位事件处理 (25)5.附近搜索设计 (26)5.1 基本配置 (26)5.1.1 配置near.xml (26)5.1.2 AndroidManifest.xml (26)5.2 NearActivity代码设计 (26)5.2.1 创建地图NearActivity,并import相关类 (26)5.2.2 NearActivity变量定义 (26)5.2.3 NearActivity主要变量初始化 (27)5.2.4 各控件设置 (27)5.2.5 事件处理 (27)6.路线规划设计 (29)6.1 基本配置 (29)6.1.1 配置way.xml (29)6.1.2 AndroidManifest.xml (29)6.2 WayActivity代码设计 (29)6.2.1 创建地图WayActivity,并import相关类 (29)6.2.2 WayActivity变量定义 (29)6.2.3 WayActivity主要变量初始化 (30)6.2.4 各控件设置 (30)6.2.5 搜索结果处理 (31)6.2.6 节点浏览 (31)7.公交查询设计 (34)7.1 基本配置 (34)7.1.1 配置bus.xml (34)7.1.2 AndroidManifest.xml (34)7.2 BusActivity代码设计 (34)7.2.1 创建地图BusActivity,并import相关类 (34)7.2.2 BusActivity变量定义 (35)7.2.3 WayActivity主要变量初始化 (35)7.2.4 各控件设置 (35)7.2.5 事件处理 (35)8.驾车导航设计 (38)8.1 基本配置 (38)8.1.1 配置navigation.xml (38)8.1.2 AndroidManifest.xml (38)8.2 NavigationActivity代码设计 (38)8.2.1 创建地图NavigationActivity,并import相关类 (38)8.2.2 NavigationActivity变量定义 (39)8.2.3 NavigationActivity主要变量初始化 (39)8.2.4 设置单击事件 (39)总结 (42)致谢 (43)参考文献 (44)附录 (45)摘要在近年来移动设备智能化、轻便化的趋势下,地图导航已经成为人们出行必不可少的工具,给人们的生活带来了极大的便利。

基于Android的地图课程设计

基于Android的地图课程设计

基于Android的地图课程设计一、课程目标知识目标:1. 学生能理解并掌握Android平台上地图开发的基本概念和原理。

2. 学生能掌握在Android应用中集成地图服务的步骤和方法。

3. 学生能了解并使用地理编码和逆地理编码功能,实现位置信息的转换。

技能目标:1. 学生能够独立完成在Android项目中添加地图功能,并进行地图的显示、缩放、定位等操作。

2. 学生能够利用地图API实现位置搜索、路径规划等功能。

3. 学生能够通过编程解决地图应用中可能遇到的问题,具备一定的调试和优化能力。

情感态度价值观目标:1. 学生能够认识到地图服务在现实生活中的广泛应用和价值,增强对地理信息科学的兴趣。

2. 学生在团队协作中,培养沟通、合作、分享的意识和能力。

3. 学生在学习过程中,培养勇于探索、积极创新的精神,提高问题解决能力。

课程性质:本课程为实践性较强的课程,要求学生在掌握理论知识的基础上,注重动手实践,培养实际操作能力。

学生特点:本课程面向高年级学生,他们已经具备一定的编程基础和Android 开发能力,对新鲜事物充满好奇。

教学要求:结合学生特点,课程以项目为导向,注重理论与实践相结合,培养学生的实际操作能力和创新能力。

教学过程中,注重引导学生主动探索,激发学生的学习兴趣,提高教学效果。

通过本课程的学习,使学生能够独立完成基于Android的地图应用开发,为未来从事相关领域工作奠定基础。

二、教学内容1. 地图开发基础理论:- 地图坐标系与地图瓦片原理- 地图API简介及使用方法2. Android地图集成:- 在Android项目中添加地图功能- 地图的显示、缩放、定位等基本操作- 地图API的调用及使用3. 地理编码与逆地理编码:- 地址与坐标的相互转换- 实现位置信息查询与展示4. 高级地图功能:- 路径规划与导航- 位置搜索与周边信息查询- 地图标注与信息窗口5. 项目实践:- 结合实际案例,完成一个具备地图显示、搜索、路径规划等功能的Android 应用- 教学内容的安排和进度按照以下顺序进行:a. 地图开发基础理论(1课时)b. Android地图集成(2课时)c. 地理编码与逆地理编码(1课时)d. 高级地图功能(2课时)e. 项目实践(3课时)本教学内容参考教材相关章节,确保科学性和系统性。

基于百度地图API的主动定位研究与实现

基于百度地图API的主动定位研究与实现
mp=new BMap.Map (‘map’,{mapType:BMAmp.setCurrentCity (“汕头”);//预设当前为汕头市 mp.addControl (new BMap.NavigationControl ());//增加导航控制 mp.addControl (new BMap.ScaleControl ());//添加比例尺 mp.addControl (new BMap.OverviewMapControl ());//添加图层
<script type=“text/javascript” src=“http:///map/jsdemo/demo/convertor.js”> </script> <script type=“text/javascript”src=“http:///api?v=1.4”> </script&g 1.4 版本.
· 67 ·
4 为团友.导游在 2:25 的位置,位于园内月鉴湖西北处,如图 4 我的位置.导游查看团友 1332 位 置,勾上提醒,点击查找,查得 1332 位于园内入公园牌坊处,并查看到该团友拍摄的实景图,如图 5、图 6.这时团友 1332 手机提醒音乐响起.导游又输入 133*,查得 1332,1333,1334 号团友的实时 位置,如图 7.这种体验,让导游对团友定位了如指掌,在该次带团活动中获得良好体验.
· 69 ·
mp.addControl (new BMap.MapTypeControl ());//添加显示模式 mp.centerAndZoom (new BMap.Point (116.728650288,23.3839084533),16); //预定位,设定显示比例级为 16 级

百度地图定位开发——Android地图sdk开发

百度地图定位开发——Android地图sdk开发

百度地图定位开发——Android地图sdk开发百度地图Android定位SDK是为Android移动端应⽤提供的⼀套简单易⽤的定位服务接⼝,专注于为⼴⼤开发者提供最好的综合定位服务。

通过使⽤百度定位SDK,开发者可以轻松为应⽤程序实现智能、精准、⾼效的定位功能。

打开百度地图sdk开发,输⼊应⽤名称这⾥需要输⼊SHA1,具体寻找SHA1过程可以参考官⽅的⽂档创建成功后,下载官⽅的jar包,将解压后的所有⽂件添加到申请AK时使⽤的项⽬⽂件中的lib⽬录中。

然后在app⽬录下的build.gradle⽂件中android块中配置sourceSets标签,内容如下:sourceSets {main {jniLibs.srcDir 'libs'}}此时就能将部分⽬录添加到项⽬视图中,现在需要将jar⽂件添加到项⽬视图中。

在app⽬录的build.gradle的dependencies块中添加以下代码,然后右键⽬标jar⽂件,选择Add as library,就能将其加⼊到项⽬视图中。

implementation files('libs\\BaiduLBS_Android.jar')然后打开AndroidManifest.xml⽂件,在<application>中加⼊如下代码配置开发密钥AK,并且根据官⽅⽂档,添加权限显⽰地图我们在xml⽂件的代码中直接输⼊<com.baidu.mapapi.map.MapViewandroid:id="@+id/bmapView"android:layout_width="411dp"android:layout_height="662dp"android:clickable="true"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"tools:ignore="MissingClass" />然后我们需要初始化地图,创建⼀个activitypackage com.example.zty_map;import androidx.appcompat.app.AppCompatActivity;import android.app.Application;import android.os.Bundle;import com.baidu.mapapi.CoordType;import com.baidu.mapapi.SDKInitializer;public class MAPZTY1 extends Application {@Overridepublic void onCreate() {super.onCreate();//在使⽤SDK各组件之前初始化context信息,传⼊ApplicationContextSDKInitializer.initialize(this);//⾃4.3.0起,百度地图SDK所有接⼝均⽀持百度坐标和国测局坐标,⽤此⽅法设置您使⽤的坐标类型. //包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。

百度地图导航Demo详细文档

百度地图导航Demo详细文档

百度地图导航Demo1). 开发环境配置:在新建的Android工程下的libs文件夹内添加百度导航SDK 的jar包:galaxy_mini.jar,android_api_1.1_forsdk.jar,BaiduLBS_Android.jar;在libs文件夹下新建armeabi文件夹,并导入下载相关的.so包:libapp_BaiduNaviApplib_v1_0_0.so,libCNPackage.so,libejTTS.so,liblocnaviSDK.so。

(这是下载带有TTS的)BaiduMapNaviSDK.rar资源包:2). 在Android工程的Manifest.xml文件中的配置:a. 在<application>标签下添加2个标签:<service>、<meta-data>:<meta-data android:name = "com.baidu.lbsapi.API_KEY"android:value = "您为这个Android工程申请的百度地图key"/> <service android:name = "com.baidu.navi.location.f"android:enable = "true" />b. 添加使用百度导航sdk的权限:<uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permissionandroid:name="android.permission.BAIDU_LOCATION_SERVICE"/><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCES_MOCK_LOCATION"/> <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permissionandroid:name="uncher.permission.READ_SETTINGS"/><uses-permission android:name="android.permission.WAKE_LOCK"/><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_GPS"/><uses-permission android:name="android.permission.GET_TASKS"/><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.BROADCAST_STICKY"/><uses-permission android:name="android.permission.WRITE_SETTINGS"/><uses-permissionandroid:name="android.permission.PROCESS_OUTGOING_CALLS"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.RECORD_AUDIO"/>3). 代码实现部分:a. 在app入口Activity(第一个Activity)中初始化导航引擎:public calss MainActivity extends ACtivity{private boolean mIsEngineInitSuccess = false;private NaviEngineInitListener mListener = newNaviEngineInitListener(){ @Overridepublic void engineInitFail(){}@Overridepublic void engineInitStart(){}@Overridepublic void engineInitSuccess(){mIsEngineInitSuccess = true;} };private String getSdcardDir(){if(Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)){return Environment.getExternalStorageDirectory().toString();}return null;}@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.activity_main);//初始化导航引擎2种方法//第一种:末尾参数为nullBaiduNaviManager.getInstance().initEngine(this,getSdcardDir(), mListener, null);//第二种:末尾参数不为nullBaiduNaviManager.getInstance().initEngine(this,getSdcardDir(), mListener, new LBSAuthManager(){ @Overridepublic void onAuthResult(int status, String msg){String str = null;if(status == 0) str ="key校验成功";else str = "key校验成功" + msg;Log.v("KEY_STATUS", str);}});//前往导航页的buttonButton naviPageBtn = (Button)findViewById(R.id.navi_page);naviPageBtn.setOnClickListener(new OnClickListener(){ @Overridepublic void onClick(View v){Intent intent = new Intent(MainActivity.this,RouteGuideDemoActivity.class);startActivity(intent);}});}}b. activty_main.xml文件的内容:<LinearLayout xmlns:android ="/apk/res/android"android:layout_width = "fill_parent"android:layout_height = "fill_parent"android:orientation = "vertical"><Button android:id = "@+id/navi_page"android:layout_width = "fill_parent"android:layout_height = "fill_parent"android:text = "前往导航页" /></LinearLayout>c. 配置导航结果显示页:具体方法步骤:右键你的工程包->New->Class->填写class名字(下面的有一个Superclass属性填写为android.app.Activity).如下图:PS:此页不需要配置.xml文件在Manifest.xml文件的<application>标签下加入导航显示的声明<activity android:name =".BNavigatorActivity"android:configChanges ="orientation|screenSize|keyboard|keyboardHidden"/>BNavigatorActivity.class文件:public class BNavigatorActivity extends Activity{private IBnavigatorListener mListener = new IBnavigatorListener(){ @Overridepublic void ontifyGPSStatusData(int arg0){}@Overridepublic void ontifyLocateData(LocData arg0){}@Overridepublic void ontifyNmeaData(String arg0){}@Overridepublic void ontifySensorData(SensorData arg0){}@Overridepublic void ontifyStartNav(){BaiduNaviManager.getInstance().dismissWaitProgressDialog();}@Overridepublic void ontifyViewModeChanged(int arg0){}@Overridepublic void onPageJump(int times, Object arg0){//页面跳转回调if(IBNavigatorListener.PAGE_JUMP_WHEN_GUIDE_END == times)finish();else if(IBNavigatorListener.PAGE_JUMP_WHEN_ROUTE_PLAN_FAIL ==times) finish();}@Overridepublic void onYawingRequestStart(){}@Overridepublic void onYawingRequestSuccess(){}};@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//创建NMapViewMapGLSurfaceView nMapView = BaiduNaviManager.getInstance().createNMapView(getApplicationContext());//创建导航视图View navigatorView = BNavigator.getInstance().init(this,getIntent().getExtras(), nMapView);//填充视图setContentView(navigatorView);BNavigator.getInstance().setListener(mListener);BNavigator.getInstance().startNav();//初始化TTS,可以使用非百度导航sdk提供的ttsBNTTSPlayer.initPlayer();//设置TTS播放回调BNavigatorTTSPlayer.setTTSPlayerListener(newIBNTTSPlayerLister(){ @Overridepublic int playTTSText(String str, int arg){return BNTTSPlayer.playTTSText(str, arg);}@Overridepublic void phoneHangUp(){}@Overridepublic void phoneCalling(){}@Overridepublic int getTTSState() {return BNTTSPlayer. getTTSState(); } });BNRoutePlanner.getInstance().setObserver(new RoutePlanObserver(this, new iJumpToDownloadListener(){@Overridepublic void onJumpToDownloadOfflineData(){}}));}//重写管理api:onPause(), onResume, onDestroy(), onBackPressed()@Overridepublic void onResume(){BNavigator.getInstance().resume();super.onResume();BNMapController.getInstance().onResume();}@Overridepublic void onResume(){BNavigator.getInstance().pause();super.onPause();BNMapController.getInstance().onPause();}@Overridepublic void onDestroy(){BNavigator.destroy();BNRoutePlanner.getInstance().setObserver(null);super. onDestroy ();}@Overridepublic void onBackPressed(){BNavigator.getInstance().onBackPressed ();}}d. 发起导航页的Activity(RouteGuideDemoActivity).xml文件:<LinearLayout xmlns:android ="/apk/res/android"android:layout_width = "fill_parent"android:layout_height = "fill_parent"android:orientation = "vertical"><Button android:id = "@+id/start_btn"android:layout_width = "wrap_content"android:layout_height = "wrap_content"android:text = "一键导航" /></LinearLayout>.classpublic class RouteGuideDemoActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.activity_route_guide_demo);Button startBtn = (Button)findViewById(R.id.start_btn);startBtn.setOnClickListener(new SelfBtnClickListener());}private class SelfBtnClickListener implements OnClickListener(){ @Overridepublic void onClick(View v){switch(v.getId()){case R.id.start_btn:selfLaunchNavigator();break;default:break;}}}private void selfLaunchNavigator(){BaiduNaviManager.getInstance().launchNavigator(this,40.06803, 116.30142, "百度大厦", //起始点39.90882, 116.39750, "天安门", //终点RoutePlan_Mode.ROUTE_PLAN_MODE_MIN_TIME, //算路方式true, //真实导航(true or false)BaiduNaviManager.STRATEGY_FORCE_ONLINE_FRIORIT, //在离线策略new OnStartNavigationListener(){ //跳转监听@Overridepublic void onJumpToNavigator(Bundle bundle){Intent intent = new Intent(RouteGuideDemoActivity.this,BNavigatorActivity.class);intent.putExtras(bundle);startActivity(intent);}@Overridepublic void onJumpToDownloader(){}});}}。

记录开发基于百度地图API实现在地图上绘制轨迹并拾取轨迹对应经纬度的工具说明

记录开发基于百度地图API实现在地图上绘制轨迹并拾取轨迹对应经纬度的工具说明

记录开发基于百度地图API实现在地图上绘制轨迹并拾取轨迹对应经纬度的⼯具说明前⾔: 最近⼀直在做数据可视化⽅⾯的⼯作,其中平⾯可视化没什么难度,毕竟已经有很多成熟的可供使⽤的框架,⽐如百度的echart.js,highcharts.js等。

还有就是3D可视化了,整体来说难度也还好,通过WEBGL技术⼀般的可视化效果还是很好实现,如果对于WEBGL光线渲染⼒不从⼼的话直接通过three.js来做也是很⽅便。

其实真正困扰我开发的是可视化项⽬中⼀般会存在很多基于地图⽅⾯的开发⼯作,只要是涉及到地图的可视化必然会跟经纬度相关联。

如果是单纯获取地图上某个特定城市或者特定点的经纬度这个很好实现,通过便可以很⽅便的获取到,但是这个系统只能是获取单个点的经纬度,并不能根据地图上的特定轨迹来拾取轨迹对应的经纬度信息。

因为在实际开发过程中,地图可视化项⽬最多的还是在地图上绘制轨迹的需求。

举个实际⼯作中遇到的需求,需要在某城市的地图上绘制出该城市所有地铁线路图,并且在对应站点展⽰⾼峰流量。

这个需求中特定站点的绘制相对简单,可以通过上述讲的百度地图经纬度拾取系统来获取,但是对应的地铁轨迹的经纬度信息获取就蛋疼了,在⽹上查询了好久都没能够查询到(可以肯定的是⽹上肯定有,但是我就是查不到)。

针对上⾯所讲的困惑,我就有了想⾃⼰制作⼀个⼯具的想法,这个⼯具可以根据⽤户在地图上绘制的轨迹对应的将轨迹的经纬度信息保存并提供给⽤户,先不说这个想法是否能够帮助到其他⼈,⾄少能够满⾜我⼯作的需求。

⼯具原理说明: 1 ⽤户在⼯具集成地图上绘制轨迹(点轨迹,圆轨迹,线轨迹,多边形轨迹,四边形轨迹); 2 ⼯具内部调⽤集成地图API获取绘制轨迹的经纬度信息; 3 将集成地图API返回的经纬度信息展⽰在⼯具对应的位置中,每次绘制玩⼀个轨迹就⽣成⼀条经纬度信息; 4 ⽤户通过⼯具提供的查看轨迹详情按钮可以查看经纬度信息并且可以直接复制到⾃⼰项⽬中使⽤; 5 为了满⾜项⽬中⼀个需求包含多个轨迹的可能性,因此增加了⼀个合并轨迹经纬度信息的功能。

百度推出手机地图Android SDK基础地图服务平台全线升级

百度推出手机地图Android SDK基础地图服务平台全线升级

百度推出手机地图Android SDK基础地图服务平台全线升级闻发
【期刊名称】《中国测绘》
【年(卷),期】2011(000)003
【摘要】记者日前获悉,百度地图API 1.2版本发布.同时推出移动版API服务,支持Android手机地图SDK.百度基础地图服务平台全线升级。

广大位置应用开发者将能够利用其强大的平台支持,为网民提供更丰富.多元.个性的地图应用服务。

【总页数】1页(P87-87)
【作者】闻发
【作者单位】不详
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.浅谈手机地图产品未来发展方向--基于高德地图和百度地图 [J], 麦世昌;谢小燕
2.基于百度地图API和Android的手机端校园消息发布系统设计与实现——以南
京晓庄学院为例 [J], 陈玲
3.基于百度地图API的智能停车SDK的设计与实现 [J], 邱龙龙;牛强;陈云飞;张军
4.手机地图在"地图的阅读"探研教学中的运用
——以百度地图APP为例 [J], 吴孟宇;贺志康
5.基于百度地图SDK的代驾平台LBS实时监测系统 [J], 任健
因版权原因,仅展示原文概要,查看原文内容请购买。

ANDROID地图SDK

ANDROID地图SDK

一、Android地图SDK概述1.Android 地图SDK v3.7.3百度地图Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。

您可以使用该套SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。

2.功能介绍1)地图(1)地图展示包括:普通地图(2D,3D)、卫星图和实时交通图(2)地图操作:可通过接口或手势控制来实现地图的点击、双击、长按、缩放、旋转、改变视角等操作。

2)POI检索(1)周边检索:以某一点为中心,指定距离为半径,根据用户输入的关键词进行POI检索;(2)区域检索:在指定矩形区域内、根据关键词进行POI检索;(3)城市内检索:在某一城市内,根据用户输入的关键字进行POI检索;(4)POI详情检索:根据POI的ID信息,检索该兴趣点的详情。

3)地理编码(1)正向地理编码:实现了将中文地址或地名描述转换为地球表面上相应位置的功能;(2)反向地理编码:将地球表面的地址坐标转换为标准地址的过程。

4)线路规划(1)公交信息查询:可对公交详细信息进行查询;(2)公交换乘查询:根据起、终点,查询策略,进行线路规划方案;(3)驾车线路规划:提供不同策略,规划驾车路线;(支持设置途经点)(4)步行路径检索:支持步行路径的规划。

(5)骑行路径检索:支持跨城骑行路径规划。

5)地图覆盖物百度地图SDK支持多种地图覆盖物,帮助您展示更丰富的地图。

目前所支持的地图覆盖物有:定位图层、地图标注(Marker)、几何图形(点、折线、弧线、多边形等)、地形图图层、POI检索结果覆盖物、线路规划结果覆盖物、热力图图层、瓦片图层等。

6)定位采用GPS、WIFI、基站、IP混合定位模式,请使用Android定位SDK获取定位信息,使用地图SDK定位图层进行位置展示。

7)离线地图用户可以通过SDK在线下载离线包接口,下载离线地图包,使用离线地图可节省用户流量,提供更好的地图展示效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科毕业论文(设计)题目Android平台下基于百度地图API的地图导航设计专业电子信息科学与技术作者姓名刘茂强学号2010201507单位物理科学与信息工程学院指导教师郎丰法2014年05月教务处编原创性声明本人郑重声明:所提交的学位论文是本人在导师指导下,独立进行研究取得的成果。

除文中已经引用的内容外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得聊城大学或其他教育机构的学位证书而使用过的材料。

对本文的研究作出重要贡献的个人和集体,均在文中以明确的方式表明。

本人承担本声明的相应责任。

学位论文作者签名:日期:指导教师签名:日期:目录前言 (9)1.绪论 (10)1.1背景及意义 (10)1.2研究现状 (10)1.3研究课题主要内容 (11)1.3.1地点搜索和位置定位 (11)1.3.2附近搜索 (11)1.3.3路线规划 (11)1.3.4公交线路查询 (11)1.3.5GPS导航 (11)1.4论文结构 (11)2.Android平台与开发环境 (13)2.1Android系统 (13)2.1.1后缀简介 (13)2.1.2应用组件 (13)2.1.3系统运行库 (14)2.2Eclipse (14)2.2.1基本介绍 (14)2.2.2主要组成 (15)2.2.3软件开发包 (15)2.3Android开发环境搭建 (15)3.相关配置和框架结构 (16)3.1工程配置 (16)3.1.1Android SDK的配置 (16)3.1.2定位SDK的配置 (16)3.1.3导航SDK的配置 (16)3.2密钥申请 (17)3.2.1密钥简介 (17)3.2.2申请步骤 (17)3.3配置AndroidManisfet.xml (19)3.3.1权限配置 (19)3.3.2添加对应的开发密钥 (19)3.3.3声明service组件 (19)3.4程序结构 (19)4.主页面设计 (21)4.1基本配置 (21)4.1.1配置main.xml (21)4.1.2配置AndroidManifest.xml (21)4.2MainActivity代码设计 (21)4.2.1创建地图MainActivity,并import相关类 (22)4.2.2MainActivity变量定义 (22)4.2.3MainActivity主要变量初始化 (22)4.2.4各控件设置 (22)4.2.5选择菜单 (23)4.2.6搜索事件处理 (24)4.2.7定位事件处理 (25)5.附近搜索设计 (26)5.1基本配置 (26)5.1.1配置near.xml (26)5.1.2AndroidManifest.xml (26)5.2NearActivity代码设计 (26)5.2.1创建地图NearActivity,并import相关类 (26)5.2.2NearActivity变量定义 (26)5.2.3NearActivity主要变量初始化 (27)5.2.4各控件设置 (27)5.2.5事件处理 (27)6.路线规划设计 (29)6.1基本配置 (29)6.1.1配置way.xml (29)6.1.2AndroidManifest.xml (29)6.2WayActivity代码设计 (29)6.2.1创建地图WayActivity,并import相关类 (29)6.2.2WayActivity变量定义 (29)6.2.3WayActivity主要变量初始化 (30)6.2.4各控件设置 (30)6.2.5搜索结果处理 (31)6.2.6节点浏览 (31)7.公交查询设计 (34)7.1基本配置 (34)7.1.1配置bus.xml (34)7.1.2AndroidManifest.xml (34)7.2BusActivity代码设计 (34)7.2.1创建地图BusActivity,并import相关类 (34)7.2.2BusActivity变量定义 (35)7.2.3WayActivity主要变量初始化 (35)7.2.4各控件设置 (35)7.2.5事件处理 (35)8.驾车导航设计 (38)8.1基本配置 (38)8.1.1配置navigation.xml (38)8.1.2AndroidManifest.xml (38)8.2NavigationActivity代码设计 (38)8.2.1创建地图NavigationActivity,并import相关类 (38)8.2.2NavigationActivity变量定义 (39)8.2.3NavigationActivity主要变量初始化 (39)8.2.4设置单击事件 (39)总结 (42)致谢 (43)参考文献 (44)附录 (45)摘要在近年来移动设备智能化、轻便化的趋势下,地图导航已经成为人们出行必不可少的工具,给人们的生活带来了极大的便利。

百度地图API(Application Programming Interface,应用程序编程接口)是为开发者免费提供的一套基于百度地图服务的应用接口,包括Android SDK(Software Development Kit,软件开发工具包)、定位SDK等多种开发工具与服务,提供基本地图展现、搜索、定位等功能。

由于开发百度地图的免费性和使用安卓平台的开源性,不仅能够有效降低开发成本,而且能使每个用户自由的获取信息,这也为手机地图导航定位服务的普及做出了重要的贡献。

《Android平台下基于百度地图API的地图导航设计》采用时下最新版的百度地图API,该应用可以用来浏览城市地图、位置定位、附近搜索、公交路线查询、线路规划、驾车导航等功能,具有很强的实用性。

关键词:Android应用,百度地图API,地图导航AbstractIn recent years,under the trend of the intelligent and portable mobile devices,the navigation of map have become an indispensable tool for people when they travel and have brought great convenience to people's life.Baidu Map API(Application Programming Interface)is one set of the free application which is provided for developers and based on Baidu Map service Interface,including the Android SDK (Software Development Kit),locative SDK and other developmental tools and services.It provides basic map display,research,positioning and other functions.Due to the free use of Baidu Map and the use of the open nature of Android platform,it not only can effectively reduce the cost of development,but also can make each user free access to information.Besides,it makes great contributions to the popularity of navigation of map and positioning services.“The navigation of map based on Baidu Map API under the Android platform”uses the latest version of the Baidu Map API, and it can be used to skim through the city map,locate,research the nearby,find out the bus transportation routes,plan the routes,navigate the driving and other functions. It has very strong practicability.Key words:Android Application,Baidu Map API,Navigation Of Map2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。

[1]随后Google以Apache开源许可证的授权方式,发布了Android的源代码。

第一部Android智能手机发布于2008年10月。

Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。

谷歌于2007年11月推出了一款开源的移动终端操作系统—Android,截止到2014年5月数据显示,安卓占据全球智能手机操作系统市场80%的份额,中国市场占有率为78.1%。

在2010年,百度宣布百度地图免费对外开放,使其广泛应用于互联网、移动设备、车厂等行业。

比如搜房、糯米、去哪儿网、百姓网、同程网等都或多或少的使用了百度地图的API。

2014年2月,阿里耗资11亿美金全资收购高德,由此可见,地图的底层数据库资源,将在未来的互联网巨头竞争中扮演越来越重要的角色。

百度地图Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。

该套SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK 接口,可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。

百度地图Android SDK提供的所有服务是免费的,接口使用无次数限制。

申请密钥(key)后,才可使用百度地图。

现在最新的版本为Android SDK v2.4.1[2]、定位SDK v2.4.1[3],同时新加了Android导航SDK v1.0.0[4]。

主要功能有:地图:提供地图展示和地图操作功能;POI检索:支持周边检索、区域检索和城市内检索;线路规划:支持公交信息查询、公交换乘查询、驾车线路规划和步行路径检索;定位:采用GPS、WIFI、基站、IP混合定位模式;离线地图:使用离线地图可节省用户流量,提供更好的地图展示效果;导航:GPS导航、路线全览、文字导航、语音播报、实时路况、路线规划。

相关文档
最新文档