最近,在研究百度基础地图sdk,结合案例高仿质量新疆的便民服务模块,在这里与大家交流下,功能基本都实现了,代码可能有点乱,全当抛砖引玉了,有什么问题大家可以一起交流相互学习。好了,先上图:
说一下实现的几个点吧:
一、准备工作:
1.去百度地图api官网下载sdk,并申请开发者帐号及申请密钥,地址http://developer.baidu.com/map/index.php?title=androidsdk
2.下载官方demo,并查看官方文档(功能要点都有),大致了解都能实现哪些功能,以便接下来整合。
二、实现要点:
1.在application中添加开发密钥
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>
2 .添加所需权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 这个权限用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 这个权限用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 用于读取手机当前的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- SD卡读取权限,用户写入离线定位数据 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 允许应用读取低级别的系统日志文件 -->
<uses-permission android:name="android.permission.READ_LOGS" />
3.在布局xml文件中添加地图控件
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
4.其他的官网都很详细了,在这里就不说了,说一个POI搜索吧,官网只写了个城市搜索,有三种 周边检索、区域检索和城市内检索这里说下周边搜索调的方法
LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());
mPoiSearch.searchNearby((new PoiNearbySearchOption())
.location(ll).radius(3000).keyword(key));
5.仿qq左划删除特效,借鉴了一个SwipeMenuListView的开源控件
https://github.com/baoyongzhang/SwipeMenuListView,有兴趣的可以了解下
6.推荐大家一个帖子据说年薪30万的Android程序员必须知道的帖子,里边有很多好的开源分享
三、走在学习的路上,理论知识可能阐诉的不透测,就不多说了,上源码吧,没有积分的可以留言,想交流的也可以留言,有demo源码和demo apk ,可以先装一下apk看下效果,源码中的key大家自己申请跟换一下,要不可能应为签名不一致,无效果。
源码下载地址:http://download.csdn.net/detail/itjianghuxiaoxiong/8409045
注:转载请注明出处