近段時間想做一些基於LBS的相關小東西,如果重新搭建一個平臺不太可能。利用百度LBS開放平臺的API接口來實現可以變得簡單,開始先從裏面提供的文檔去實現地圖展現功能,然後再加以拓展。
一、實現百度地圖的初步加載
在實現代碼之前,要先在百度申請一個帳號來申請密鑰。開放平臺也詳細地做了介紹:
http://developer.baidu.com/map/index.php?title=androidsdk/guide/key
這裏要注意的是,包名要取好,因爲下面要建的Android工程包名必須和這個一樣。
密鑰申請完後,就可以進行相關資源的下載了,具體地址:
這裏根據自己的需要進行相關的勾選下載,建議開發包和示例代碼都下載下來。
3.在Eclipse新建一個空的Android工程,記得,包名必須和申請密鑰的時候取的包名一樣,否則會應用不了。待相關資源下載完成後,編寫代碼前要進行簡單的工程配置和地圖代碼實現:
http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap
正如鏈接所說的一樣,百度地圖就會展現在模擬器或者真機上。
二、生成自定義初始化界面
從上面可以看到,一個簡單的百度地圖顯示在自己的屏幕上。其實,我們可以根據開放平臺所提供的API文檔去實現自定義的界面,這裏簡單實現初始的縮放距離(默認顯示500米):
首先先定義一個BaiduMap對象,並調用一個地圖初始化函數:
public class MainActivity extends Activity {
...
private MapView mMapView;
private BaiduMap mBaiduMap;//對地圖修改控制
...
setContentView(R.layout.activity_main);
initView();//自定義初始化地圖函數
...
}
2.定義地圖初始化函數,把獲取地圖控件引用的代碼剪切到該函數裏面:
private void initView() {
mMapView = (MapView)findViewById(R.id.id_bmapView);//獲取地圖控件引用
mBaiduMap = mMapView.getMap();//獲得地圖控制器
MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15.0f);//設置地圖縮放級別
mBaiduMap.setMapStatus(msu);//改變地圖狀態
}
這樣,自定義的初始地圖縮放就是實現了(默認顯示500米):