越來越多的App運用到了定位,導航的這些功能,其實實現一個自己的百度地圖也是非常的簡單,這篇博客將會教你簡單的實現一個百度地圖。看一下效果圖:

第一步:要使用百度地圖,必須要有百度地圖的Key,要獲得這個Key,需要你提供兩個信息:SHA1和應用的包名。
*獲取SHA1:
打開你的安卓ADB目錄,一般在C盤的用戶目錄中以.android為文件名。

這個debug文件就是獲取SHA1值的文件。接下來WIN+R,輸入cmd。來到命令窗口界面:先輸入cd .android來到這個文件夾中之后輸入keytool -list -v -keystore debug.keystore
提示你輸入密碼,默認就是android。因為是命令窗口輸入密碼並不會顯示輸入數,輸入好了回車,就可以看到我們的SHA1值了。

**獲取包名,在我們安卓的配置文件中拷貝一下包名:

有了這兩個值就可以申請到Key了。
第二步,將百度SDK集成到你的項目中。
將SDK下下來,可以看到這些文件:

最后一個是Jar文件,可以一鍵導入到庫,其他是針對不同手機架構的.SO文件。將你的jar文件考到libs目錄中,右鍵Add as Laribary。接着在main文件下新建JniLibs文件夾,將剩下的文件考到里面。

第三部,配置相關數據。
*現在配置清單文件中配置一個全局的參數:

第二個參數就是你的Key。這里就不給大家看了。
**在布局中:
<com.baidu.mapapi.map.TextureMapView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/bmapView" android:clickable="true"></com.baidu.mapapi.map.TextureMapView>
***在Activity中:
super.onCreate(savedInstanceState); //在使用SDK各組件之前初始化context信息,傳入ApplicationContext //注意該方法要再setContentView方法之前實現 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); mMapView = (TextureMapView) findViewById(R.id.bmapView); baiduMap = mMapView.getMap(); msu = MapStatusUpdateFactory.newLatLng(new LatLng(30.5715920000,104.2077620000)); baiduMap.setMapStatus(msu); } @Override protected void onDestroy() { super.onDestroy(); //在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命周期管理 mMapView.onDestroy(); unregisterReceiver(broadcastReceiver); } @Override protected void onResume() { super.onResume(); //在activity執行onResume時執行mMapView. onResume (),實現地圖生命周期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); //在activity執行onPause時執行mMapView. onPause (),實現地圖生命周期管理 mMapView.onPause(); }
注意這個View的生命周期要和Activity的生命周期一致。 SDKInitializer.initialize(getApplicationContext());這個方法要寫在布局之前。推薦將它初始化在你的Application類的onCreate()方法中。我這里將坐標定位於我的學校。好了,一個簡單的百度地圖就實現了,這里先開個頭。下一篇,我將介紹百度地圖的一些重要用法,如果你覺得我寫的不錯,可以推薦一波哦~
