前言:这是2012年9月份的文章,截止目前已过一年,并且百度LBS相关服务已经非常完善,通过官方Demo可以满足大家需求。
这是项目源码:下载,由于百度LBS相关组件已升级,建议到百度开发者中心查看官方LBS解决方案一步步去做,官方文档描述很详细并且有相应的Demo,并且现在百度LBS的Key认证方式换成了第二代,建议大家去使用一下!
前几天百度举办了百度世界大会,可惜没去参加,之前参加了百度的开发者大会,在会上也了解了百度的产品,百度现在朝着平台化的方向在发展,感觉很不错,也试用了百度的产品,现在就用着百度的网盘,今天看了下百度地图的开放API,然后做了个Demo,这里分享出来。如果应用主要针对国内市场的话,用百度地图还是一个比较不错的选择。另外,百度还有一个PCS(Personal cloud storage)个人云存储,我比较感兴趣,之后也会继续研究,然后做个Demo分享给大家。今天就先看看这个利用百度地图定位并实现目的地导航的Demo。首先看实现效果:
进入后首先会得到当前位置,在地图上显示出来,在输入框中输入目的地后,就会在地图上出现最佳线路,我这里设置的是距离最小的驾车线路,另外还有公交线路、步行线路,在代码中都有详细注释。另外,在控制台还输出了线路上每一个节点的信息以及起始位置和目的地的距离,信息显示的是在当前节点的导航信息。如下图:
接下来就看如何实现了,首先,注册百度开发者账号,并进入百度地图API查看相关资料百度地图API,然后就是为需要加入地图的应用注册APP KEY,注册完后,下载百度地图jar文件,新建工程,并导入即可,下面看实现具体代码,在代码中有详细注释:
public class NavigationDemoActivity extends MapActivity {
private String mMapKey = "注册自己的key";
private EditText destinationEditText = null;
private Button startNaviButton = null;
private MapView mapView = null;
private BMapManager mMapManager = null;
private MyLocationOverlay myLocationOverlay = null;
//onResume时注册此listener,onPause时需要Remove,注意此listener不是Android自带的,是百度API中的
p