Android开发基于百度地图的乘车助手

写在前面:出去玩免不了挤公交、等地铁,不知道乘车方案当然不行,用官方APP吧,缺点一大堆,手机浏览器在线查的话既慢又麻烦...为了解决这些问题,我们来做一个简版的出行助手,嘛嘛再也不用担心我会迷路了_\^o^/_

(一)功能需求分析

[基础功能]

1.能够根据起点站和终点站查询乘车方案,并显示多种乘车方案

2.能够根据公交路线号查询沿途站点(防止坐过站...)

[扩展功能]

3.GPS定位获取起点站(距离当前位置最近的站点名)[后来放弃了,费电,费流量...]

4.显示地图[后来也放弃了,地图对用户来说好像没什么太大用处(当然喜欢走路的另当别论),至少对本人来说地图没什么用]

(二)可实现性分析

1.百度地图开放平台提供的API可以实现乘车方案查询

2.3.4.同上,结论:完全可以实现需要的所有功能

(三)开发前提

1.需要BaiDuMap的开发者账号

2.需要key(现在新版的地图key与App唯一绑定)

3.需要官方提供的jar包

搜索一下“百度地图开发”,上面的三件事情分分钟搞定

[说到这里不得不赞一下这极低的门槛了,腾讯、新浪微博...的开发者账号就很难认证,有的甚至需要上传身份证复印件...]

(四)研究API文档以及Demo

API文档说实话做得不怎么样,函数详解都只有一句话,建议直接看Demo,附有大量注释,简单易懂

(五)开始编码(下面给出的源码都亲测可用,并附有最详细的注释)

[SearchPlan.java---MainActivity]

[ShowDetail.java---显示乘车方案详情]

[ShowRoute.java---显示路线详情(沿途站点信息)]

[布局文件query.xml]

P.S.源码都在上面,如有疑问请在下方留言

(六)显示地图

[最先实现的就是这个(第一次开发地图有点激动,想看看地图长什么样子...),在需求中本没打算设计,虽然后来放弃了,但下面的源码仍然亲测无误]

[ShowMap.java---显示地图]

[布局文件activity_main.xml]

 

(七)离线地图

离线地图好处多多,但若是要开发需要推广给众多用户的App的话,建议要么做下载离线地图包功能(Demo中有例程,很容易),要么考虑在App第一次运行的时候把APK资源文件中的离线地图复制到用户SD卡中(理论上可以实现),当然这样的话地图适用范围会受到限制,开发有明确地域限制的App可以选用(例如:西安出行助手)。

离线地图是这样用的:

1.把从官网下载的文件夹整个复制到手机SDCARD指定路径(具体放哪里请看压缩包中的ReadMe.txt介绍)

2.在程序中需要对离线地图包进行scan初始化(其本质是对地图包的解析,把一个大文件变成了几个小文件,所以,不进行解析的话地图包是不能用的)

3.貌似显示地图的方法会自动判断(优先使用离线地图,如果有的话)

(八)运行界面截图

Android开发基于百度地图的乘车助手

Android开发基于百度地图的乘车助手

Android开发基于百度地图的乘车助手

Android开发基于百度地图的乘车助手

Android开发基于百度地图的乘车助手

Android开发基于百度地图的乘车助手

Android开发基于百度地图的乘车助手,布布扣,bubuko.com

Android开发基于百度地图的乘车助手

上一篇:webapp 开发之iScroll 学习


下一篇:Android 触摸事件传递机制