android毕业设计_第1页
android毕业设计_第2页
android毕业设计_第3页
android毕业设计_第4页
android毕业设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 毕业设计(论文)设计(论文)题目旅游日记之分享大厅和搜索路线的设计与实现 学 院 电信工程学院 教 学 系 计算机技术系 班 级 软件技术 姓 名 江 城 指导教师 赵 妍 2014年4月摘 要Android系统是Google开发的一款开源移动OS,Android中文名被国内用户俗称“安卓”。Android操作系统基于Linux内核设计,使用了Google公司自己开发的Dalvik Java虚拟机。Android操作系统已经成为全球最大的智能手机操作系统。随着人们生活水平的提高,对于美好事物的追求也越来越高了。同时也希望可以把自己的一些感受分享给自己的朋友,但是原始的照相机已经远远不能满足我

2、们即拍即分享的心情了。同时手机行业随着硬件水平的提高,在拍照等功能上已经于相机没有多大区别了。然而这个时候很多年轻人,就选择利用手机这个移动设备进行分享心情,随着移动论坛留言的出现,手机设备已经基本可以满足年轻人的需求了。但是随着网络的发展,SNS社区的出现。大家对图片的分享要求不断提高,这个就需要大家可以再手机拍完照之后,可以及时的将照片分享到SNS社区上。然而现在大家面对同样一个问题,照完照片还需要登录SNS社区,才能进行分享。然而我们这款软件则解决了这个问题,将拍照与分享想结合。大大满足了年轻人的及时分享欲望。【关键字】:手机地图、路线分享、Android平台目 录1绪 论41.1课题背

3、景41.2课题研究的目的和意义41.3论文主要内容42旅游日记的解决方案52.1系统相关技术52.1.1Android简介52.1.2Android SDK62.1.3基于LBS的位置服务应用于旅游72.1.4SNS技术实现旅游资源共享72.2开发环境配置72.2.1硬件环境72.2.2运行环境83系统总体设计83.1系统设计分析83.1.1系统框架83.1.2旅游日记简介93.1.3设计原则93.2系统需求分析93.3系统总体结构分析103.3.1服务器端技术实现方案103.3.2客户端技术实现方案113.4内部接口设计123.5外部接口设计124数据库结构设计134.1上传数据表定义134

4、.2日记数据表设计135功能模块设计及实现145.1分享大厅模块145.1.1分享大厅界面设计145.1.2大厅界面实现165.2搜索路线18结 论28谢 辞29 30北京电子科技职业学院电信工程学院毕业论文旅游日记之分享大厅和搜索路线的设计与实现1 绪论1.1 课题背景 随着人们生活水平的提高,对于美好事物的追求也越来越高了。同时也希望可以把自己的一些感受分享给自己的朋友,但是原始的照相机已经远远不能满足我们即拍即分享的心情了。同时手机行业随着硬件水平的提高,在拍照等功能上已经于相机没有多大区别了。然而这个时候很多年轻人,就选择利用手机这个移动设备进行分享心情,随着移动论坛留言的出现,手机设

5、备已经基本可以满足年轻人的需求了。但是随着网络的发展,SNS社区的出现。大家对图片的分享要求不断提高,这个就需要大家可以再手机拍完照之后,可以及时的将照片分享到SNS社区上。然而现在大家面对同样一个问题,照完照片还需要登录SNS社区,才能进行分享。然而我们这款软件则解决了这个问题,将拍照与分享相结合。大大满足了年轻人的及时分享欲望。1.2 课题研究的目的和意义随着旅游业的发展,“个性化”的自助游成为未来旅游市场的发展主流。日益成熟并高速发展的3G移动通信技术给传统的旅游业带来了新的机遇和商机,而旅游业也成为了移动互联网技术最理想的应用前沿之一。针对现阶段旅游信息化的发展现状以及自助游旅客在旅行

6、中的特殊需求,基于Android开放平台,结合基于LBS的位置服务、SNS分享技术,采用个性的日记模式,开发一款旅游导航及信息分享APP旅游日记,将为广大“驴友”带来全新的“移动旅游”体验。1.3 论文主要内容本课题实现了图片分享软件的开发,包括分享大厅、搜索路线、创建相册、添加相片、编辑相片、分享相册、创建我的路线、添加收藏、添加评论等内容。用户通过独特记录界面风格和样式,能让你彷佛在浏览记忆相册一般,回顾的自己旅行的历程。让你记录出行度假的经验与你的朋友和家人分享,并分享你当时的心情,好像他们亲身经历过一样。旅游日记为旅游发烧友打造一款集GPS导航、旅游路线的分享与评论、景点相册分享,经典

7、路线收藏,具备社区交流与服务功能。分享大厅:登录服务器浏览服务器上所有自驾游路线,并浏览路线某一上的景点的相册。搜索路线:为你寻找一条适合的导航路线。创建相册:在路线上添加相册,保存下你在这条路线照的相片。添加相片:通过拍照或访问本地文件,添加照片至相册。编辑相片:添加心情短语,旋转、裁剪、分享相片。分享相册:通过上传分享,旅游路线的景点照片。创建我的路线:可以查看到所有用户已上传的路线。添加收藏:收藏用户所有感兴趣路线。添加评论:分享的路线和相片可以进行评论。单纯的提供旅游路线未免太过枯燥乏味,用户更多的是想获取别人的旅游经验,分享自己的旅游心情。旅游日记提供个性化的日记模式,使用户可以在自

8、己的旅行路线上,随时随地撰写微游记,创建旅游相册,形成自己的旅游日记。同时可以上传旅游日记,分享旅游喜悦。2 旅游日记的解决方案2.1 系统相关技术2.1.1 Android简介 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良A

9、ndroid系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: 图2-1 Android

10、应用程序框架图系统 C 库 - 一个从BSD继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux的设备定制的。媒体库 - 基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。2.1.2 Andro

11、id SDKSDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。 因此,Android SDK 指的既是Android专属的软件开发工具包。与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储

12、类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下。SharedPreferences,它是Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。2.1.3 基于LBS的位置服务应用于旅游随着3G时代的来临,未来,移动位置服务应用必将成为运营商收入的新的增长点。据统计,国内位置服务产业的总值已超过了200亿元人民币。旅游具有明显的移动特性和地理属性,LBS和旅游的结合时十分切合的。LB

13、S在旅游业的应用,可能是旅游信息化的下一个增长点。旅游日记采用基于LBS的路线导航,用户能够通过Wifi随时查看百度地图,根据需要搜索符合要求的出行路线,通过GPS模块定位路线。2.1.4 SNS技术实现旅游资源共享当前IT界最火爆的词语是SNS(Social Networking Services),即社会性网络服务。SNS技术的发展给网络旅游信息发展带来了极大的活力。人们不仅仅满足于从网络上获取旅游信息最基本的阶段,而是利用网络进行旅游信息的创造和分享等更高层次的追求。旅游日记采用SNS技术,用户可以将自己的游记一键同步到新浪微博、开心网、人人网,还可以上传旅游信息到服务器与“驴友”共享旅

14、游经验与体会。与此同时也可以随时查看到“驴友”上传的最新、最热的旅游线路以及旅游动态,心情体会和景点图片,为自助出行提供参考,还可以对相关路线给出评价。2.2 开发环境配置2.2.1 硬件环境CPU:2.26GHz内存:2.0GB显卡:GeForce 52002.2.2 运行环境客户端: 1.操作系统:Android2.0以上2.数据库:SQLite服务器端:1.操作系统:Linux 2.数据库:MySql3.应用服务器:Apache开发环境:1.Eclipse Version 3.6.12.Android SDK 2.23.ADT4.SQLite数据库。3 系统总体设计3.1 系统设计分析3

15、.1.1 系统框架图3-1系统框架图 3.1.2 旅游日记简介该旅游日记系统是基于Android开发的,以分享自己的美好旅程为目标,由分享大厅模块、搜索路线模块、创建相册模块、添加相片模块、编辑相片模块、编辑相片模块、分享相册模块、创建我的路线模块、添加收藏模块、添加评论模块九大模块组成。分享大厅模块:登录服务器浏览服务器上所有自驾游路线,并浏览路线某一上的景点的相册。搜索路线模块:为你寻找一条适合的导航路线。创建相册模块:在路线上添加相册,保存下你在这条路线照的相片。添加相片模块:通过拍照或访问本地文件,添加照片至相册。编辑相片模块:添加心情短语,旋转、裁剪、分享相片。分享相册模块:通过上传

16、分享,旅游路线的景点照片。创建我的路线模块:可以查看到所有用户已上传的路线。添加收藏模块:收藏用户所有感兴趣路线。添加评论模块:分享的路线和相片可以进行评论。3.1.3 设计原则软件系统开发设计原则一般包括以下四个方面: (1)经济,实用的原则;(2)兼容性原则;(3)可靠,有效性原则;(4)安全性原则。3.2 系统需求分析旅游日记系统包括以下九个模块:分享大厅模块:可以浏览大厅中其他用户以及自己的自己有旅游路线以及路线的相册。搜索路线模块:可以寻找到一条最为合适的导航路线。创建相册模块:可以在保存路线之后添加相册。添加相片模块:可以通过拍照或者使用本地图片添加照片到相册。编辑相片模块:可以添

17、加文字,将图片进行旋转、裁剪以及分享照片的功能。分享相册模块:可以上传分享照片及相册。创建我的路线模块:可以创建一条自己的自驾游路线。添加收藏模块:可以收藏一条或多条用户感兴趣的路线。添加评论模块:可以评论已有的相册、照片或者路线。3.3 系统总体结构分析旅游日记分为服务器端和客户端两大部分,总体的架构图如图3-2所示。客户端通过服务器端定义的API接口交换数据。针对移动互联应用程序我们有多个客户端,每个客户端都遵循同样的规则调用服务器提供的接口,获取和提交数据。服务器端接受到请求之后,根据每个请求的从DB中获取数据,或者将请求存入DB中。DB手机客户端服务器端API图3-2 产品技术架构3.

18、3.1 服务器端技术实现方案1 服务器端接口设计服务器端的数据主要包括get请求参数,返回json数据结构,以及用户的所有信息。表1服务器端接口表接口名分项字段1说明备注示例路线信息请求地址routedetail.phpGET请求方式请求参数uid用户编号整型id路线编号整型返回JSONret返回结果0:失败1:成功"ret": "1","tip": "","comments_items":"id":1,"title":"",tip成功

19、/失败提示结果提示消息title标题字符串,需url编码baddress开始地址字符串,需url编码eaddress结束地址字符串,需url编码pubdate发布时间字符串thumb缩略图url地址字符串comments_items用户编号整型用户头像整型评论内容字符串,需url编码用户昵称字符串,需url编码评论时间字符串3.3.2 客户端技术实现方案客户端实现存储数据,需要保持用户创建的路线名称、路径、相册主题、心情、背景音乐、皮肤等信息。各个窗体进行数据交互和跳转。系统各个Activity之间的数据交互,实现窗体的跳转,设计的系统流程图如下图3-3所示。图3-3 系统流程设计3.4 内部

20、接口设计各模块间的功能比较独立,在程序逻辑上没有联系。而各模块间的数据联系主要通过访问数据库接口。对于一些公用函数、用户对象和窗口,提供调用接口说明。3.5 外部接口设计主要用到的外部接口有Android SDK、MySQL、标准XML、标准的HTTP的GET和POST方式发送。详细的接口设计有以下方式:1) 和Android操作系统的接口 主要通过Android SDK函数实现;2) 和MySQL的接口 通过PHP支持的SQL语句实现;3)服务器向客户端发送数据,以标准的XML作为数据接口;4)客户端向服务器发送数据,以标准的HTTP的GET和POST方式发送。4 数据库结构设计该系统数据库

21、设计主要包括两个数据表,分别是上传数据表和日记表信息表。具体定义如下:4.1上传数据表定义该表定义需要上传的数据表的格式,主要包括相片编号,路线编号,上传用户编号,相片地址,相片宽度,相片高度,发表评论时间的记录。表2上传数据表标识符类型是否为空备注idint否相片编号themeidint否路线编号uidint否上传用户编号urlvarchar(100)否相片地址wint否相片宽度hint否相片高度lasttimedatetime否发表评论时间上传数据表发表评论时间。相片宽度相片高度相片编号图4-1上传数据表设计4.2日记数据表设计该表定义存储旅游日记单条记录的格式,主要包括路径名称,路径,相

22、册主题,心情,背景音乐,皮肤。表3日记表信息表标识符类型是否为空备注routevarnchar(20)否路径名称pathvarnchar(500)否路径zhutivarnchar(50)否相册主题xinqingvarnchar(20)否心情yinyueInt否背景音乐bgInt否皮肤日记表信息表。路径名称心情背景音乐皮肤图4-2日记信息表设计5 功能模块设计及实现我所负责的是分享大厅模块的实现,以及搜索路线模块的实现。还有服务器资源的下载,服务器资源的上传和数据库设计,项目美工设计。5.1 分享大厅模块打开软件之后再登录或者未登录状态下可以浏览服务器中所有用户的自己有路线,电机线路可以打开并浏

23、览该线路上的景点相册,打开相册可以浏览该相册中的照片。5.1.1 分享大厅界面设计打开程序后有一个启动界面,之后出现的就是一个大厅界面。该界面的设计有登录按钮,菜单按钮,列表显示服务器的用户添加到路线,包括路线名称和显示的照片。如图5-1所示:图5-1分享大厅界面再点击右上角的菜单按钮之后,出现菜单界面。包括我的路线,我的相册,我的收藏,我的评论,切换帐号,退出。如图5-2所示:图5-2大厅菜单界面5.1.2 大厅界面实现1) 大厅界面的xml代码: <LinearLayout> <LinearLayout> <TabHost> <LinearLayo

24、ut> <!- 实现Tab标签的居底主要是通过设置属性 android:layout_weight="1" -> <!- 还要注意FrameLayout标签的位置,要写在TabWidget标签的前面 -> <FrameLayout android:layout_weight="1" /> <TabWidget/> </LinearLayout> </TabHost> </LinearLayout></LinearLayout>2)大厅界面是经过一个Tas

25、k1Activity来实现的,用于显示大厅界面以及显示菜单界面。这里运用了一个控件叫做TabHost,可以通过下方的不同按钮的点击显示不同的界面。/ 获取tabhost实例tabHost = getTabHost();/ 设置背景tabHost.setBackgroundResource(R.drawable.fristpagebackground);/ outTab1选项卡 ,添加一个页面卡Intent oneIntent = new Intent();/ 点击跳转到MostNew 页面oneIntent.setClass(this, MostNew.class);TabHost.TabSp

26、ec oneTabSpec = tabHost.newTabSpec("tab1");oneTabSpec.setIndicator(getString(R.string.out_tab1), null);oneTabSpec.setContent(oneIntent);/ 自定义下面的小标签,背景,内容tv = new TextView(this);tv.setBackgroundResource(R.drawable.zhuye1);/ 将tv控件添加到tabHost中tabHost.addTab(oneTabSpec.setIndicator(tv);/ outTab

27、2选项卡Intent twoIntent = new Intent();twoIntent.setClass(this, MostHost.class);TabHost.TabSpec twoTabSpec = tabHost.newTabSpec("tab2");twoTabSpec.setIndicator(getString(R.string.out_tab2), null);twoTabSpec.setContent(twoIntent);tv2 = new TextView(this);tv2.setBackgroundResource(R.drawable.da

28、ohang1);tabHost.addTab(twoTabSpec.setIndicator(tv2);/ outTab3选项卡Intent threeIntent = new Intent();threeIntent.setClass(this, Area.class);TabHost.TabSpec threeTabSpec = tabHost.newTabSpec("tab3");threeTabSpec.setIndicator(getString(R.string.out_tab3), null);threeTabSpec.setContent(threeInte

29、nt);tv3 = new TextView(this);tv3.setBackgroundResource(R.drawable.xiangce1);tabHost.addTab(threeTabSpec.setIndicator(tv3);3)在点击大厅右上角的菜单按钮之后会出现左滑的菜单,再次点击恢复。/ 异步处理class AsynMove extends AsyncTask<Integer, Integer, Void> Overrideprotected Void doInBackground(Integer. params) int times;/ 计算完成推动需要多

30、长时间if (MAX_WIDTH % Math.abs(params0) = 0)/ 整除times = MAX_WIDTH / Math.abs(params0);elsetimes = MAX_WIDTH / Math.abs(params0) + 1;/ 有余数for (int i = 0; i < times; i+) publishProgress(params);try Thread.sleep(Math.abs(params0); catch (InterruptedException e) / TODO Auto-generated catch blocke.printS

31、tackTrace();return null;Overrideprotected void onProgressUpdate(Integer. params) LayoutParams lf = (LayoutParams) layout_left.getLayoutParams();LayoutParams lp = (LayoutParams) layout_right.getLayoutParams();if (params0 < 0) lf.leftMargin = Math.max(lf.leftMargin + params0, -MAX_WIDTH);lp.leftMar

32、gin = Math.max(lp.leftMargin + params0, -MAX_WIDTH); else lf.leftMargin = Math.min(lf.leftMargin + params0, 700);lp.leftMargin = Math.min(lp.leftMargin + params0, 700);layout_right.setLayoutParams(lp);layout_left.setLayoutParams(lf);5.2 搜索路线调用百度地图,输入开始结束位置,可以搜索到最合适的导航路线,包括最快,最短,换乘最少等不同的选择,点击系统为您选择的路

33、线,可以在地图上显示路线。点击分享大厅的加号按钮,进入搜索界面,可以搜索并创建属于自己的旅游路线如图5-3、5-4所示。图5-3 显示路线页面1) 显示百度地图以及点击导航按钮所涉及代码:/ 初始化 地图管理,mapmanger = new BMapManager(getApplication();/ 字符串为个人申请地图api证书mapmanger.init("F071BA1F1CA6651A37F9D455F2A9A5256C72399C", null);setContentView(R.layout.navigation);2) 地图的初始化。/ 设置地图可以支持缩放

34、mapView = (MapView) findViewById(R.id.bmapsView);mapView.setBuiltInZoomControls(true);/ 地图控制器mapController = mapView.getController();mapController.setZoom(12);/ 初始化搜索类mKSearch = new MKSearch();mKSearch.init(mapmanger, new MySearchListener();图5-4 搜索路线页面填写起点终点之后点击导航按钮,进入系统推荐的路线,包括最快、最短、最经济的路线如图5-5、5-6

35、所示。图5-5 导航路线页面(1)3) 根据之前一个界面出过来的出发点和终止点,进行路线的搜索。/ 从myroute跳转过来 , 传过起始,终点位置,进行搜索Intent it = getIntent();start11 = it.getStringExtra("start11");String end11 = it.getStringExtra("end11");if (start11 != null && end11 != null) start = new MKPlanNode(); = start11.toSt

36、ring();end = new MKPlanNode(); = end11.toString();/设置搜索的条件 :时间最短 , 最经济 ,路线最短。mKSearch.setDrivingPolicy(MKSearch.ECAR_TIME_FIRST);/开始搜索mKSearch.drivingSearch("中国", start, "中国", end);图5-6 导航路线页面(2)点击查看地图可以在地图上显示所选择的导航路线,在百度地图显示的界面上增加了线路的现实,起点终点,如图5-7所示。图5-7 显示导航路线图4) 设置输入框的

37、监听,当用户在输入框输入文字的时候,将给出适当的提示。/ 编辑框内容变化监听startEdit.addTextChangedListener(new TextWatcher() Overridepublic void onTextChanged(CharSequence s, int start, int before,int count) / TODO Auto-generated method stubif (isChange = true) if (num > 0) / 每次都要重新初始化地图管理 ,这样才能每次都根据你的输入提示/ suggestions = null;mKSea

38、rch = new MKSearch();/ mKSearch.init(mapmanger, new MySearchListener();/输入框 输入地点建议mKSearch.suggestionSearch(startEdit.getText().toString();suggestion.setVisibility(View.VISIBLE);/ 用来设置俩个建议框是否显示sug = true;sugzd = false;);5) 显示搜索的代码/ 实现MKsearchListener接口。public class MySearchListener implements MKSear

39、chListener Overridepublic void onGetAddrResult(MKAddrInfo arg0, int arg1) / TODO Auto-generated method stub/ 驾车搜索路线的结果Overridepublic void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) / TODO Auto-generated method stubif (arg1 != 0 | arg0 = null) Toast.makeText(Navigation.this, "抱

40、愧,未找到成果", Toast.LENGTH_LONG).show();return;/ 将路线进行拆分,存到集合中mkStep(arg0, null, null);mkResult = arg0;/ 当key = 1,将路线图画出来,显示在地图上if (key = 1) mapView.getOverlays().clear();RouteOverlay routeOverlay = new RouteOverlay(Navigation.this,mapView); / 此处仅展示一个方案作为示例routeOverlay.setData(mkResult.getPlan(0).g

41、etRoute(0);mapView.getOverlays().add(routeOverlay);mapView.refresh();/ 当KYE = 0,跳转到showroute界面if (key = 0) Intent search = new Intent();search.setClass(Navigation.this, ShowRoute.class);startActivity(search);pd.cancel();num+;key = 0;/ 搜素建议Overridepublic void onGetSuggestionResult(MKSuggestionResult

42、arg0, int arg1) / TODO Auto-generated method stubif (arg1 != 0 | arg0 = null) Toast.makeText(Navigation.this, "抱愧,未找到成果", Toast.LENGTH_LONG).show();return;/ 起始点输入的搜索建议提示if (sug = true) / suggestions = null;int size = arg0.getSuggestionNum();suggestions = new Stringsize;for (int i = 0; i &l

43、t; size; i+) suggestionsi = arg0.getSuggestion(i).key;ArrayAdapter<String> suggestionString = new ArrayAdapter<String>(Navigation.this,android.R.layout.simple_list_item_1, suggestions);suggestion.setAdapter(suggestionString);/ 终点输入的搜索建议提示else if (sugzd = true) / suggestions = null;/ 将百度地

44、图自带的提示,存到集合中。int size = arg0.getSuggestionNum();suggestions = new Stringsize;/ 将提示的内容加到适配器中 。for (int i = 0; i < size; i+) suggestionsi = arg0.getSuggestion(i).key;ArrayAdapter<String> suggestionString = new ArrayAdapter<String>(Navigation.this,android.R.layout.simple_list_item_1, sug

45、gestions);suggestionzd.setAdapter(suggestionString);6) 路线的拆分/ 自定义的拆分路线的方法public void mkStep(MKDrivingRouteResult res1, MKTransitRouteResult res2,MKWalkingRouteResult res3) step = new ArrayList<String>();int numSteps;if (res1 != null) numSteps = res1.getPlan(0).getRoute(0).getNumSteps() - 1;if

46、(numSteps > 0) for (int i = 0; i < numSteps; i+) step.add(res1.getPlan(0).getRoute(0).getStep(i).getContent();/ 这个是选择乘坐公交车时,座乘方案。else if (res2 != null) numSteps = res2.getPlan(0).getNumLines();int i;int j1 = res2.getPlan(0).getNumRoute();if (numSteps > 0) for (i = 0; i < numSteps; i+) MK

47、Line line = res2.getPlan(0).getLine(i);if (line.getType() = MKLine.LINE_TYPE_BUS) step.add("乘坐公交" + line.getTitle() + "路");step.add("自" + line.getGetOnStop().name + "经过"+ line.getNumViaStops() + "站到"+ line.getGetOffStop().name + "-"+ line.getDistance() + "m"); else if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论