最近,在研究百度基礎地圖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
注:轉載請註明出處