Android 開發之整合百度地圖的定位與地圖展示

來源:互聯網
上載者:User

標籤:dmi   you   keystore   tag   comm   而且   示範   store   開發人員   

app 應用中,大多數應用都具有定位功能,百度定位就成了開發人員的整合定位功能的首選,近期也在做定位功能,可是發現百度真是個大坑啊, sdk 具名更新了,相關代碼卻不更新,害得我花費了非常長時間來研究,今天來給大家分享下 Android 整合百度地圖要注意的事情,這裡僅僅是整合了定位和地圖展示功能,其它功能還未涉及,先看下:

接下來介紹一下 Android 整合百度地圖的步驟:
首先登陸百度開發平台,在我的應用程式中建立應用,然後你會看到例如以下介面:

依據它的要求填寫相關資訊,這裡的安全是有 SHA1和包名組成的,將 SHA1和包名填寫完畢之後會自己主動產生,報名肯定都知道怎樣獲得, SHA1的擷取方式例如以下:(android studio)
mac 版:
開啟 android studio 的 Terminal, 在裡面輸入命令列
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
按斷行符號就可以會的 SHA1;
window 版:
WIN+R 開啟“執行” 輸入 CMD 斷行符號
CD C:\Program Files\Java\jdk1.7.0_71\bin (安裝JDK路徑)
keytool -list -v -keystore c:\users\your_user_name.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
比如:keytool -list -v -keystore c:\users\Administrator.android\debug.keystore -alias androiddebugkey -storepass android -keypass androidand 然後就看到SHA1了
假設實在不行,能夠通過一個工具來擷取,這個工具還能夠檢測你產生的 key 是否正確,點擊擷取工具

該工具是我在網上找的,在這裡感謝一下, 下載完畢並安裝到手機裡後,點擊剛才安裝的工具,它會將手機中的所用應用都檢索出來,然後點擊你要擷取 key 的應用,出現例如以下畫面:

這裡的 SHA1就是你想要的,而且還能夠將你之後獲得 key 加入到這裡檢測下是否正確
點擊提交以後你就會在你的應用列表中擷取你要的 key 了.接下來就是看下怎樣將百度地圖整合到你的項目中.
進入首頁-以下的 android 開發-任一個功能-左下角的相關下載-自定下載,會出現例如以下介面:

你想要整合什麼功能,就把哪個功能選中,在這裡選擇下載開發包,開發包裡有你要整合相關功能的 jar 包,本人不建議下載示範範例代碼,就像我開篇提到的,百度地圖的sdk 已經更新了,可是示範範例代碼還是舊版本號碼的,假設你參考示範範例代碼,會給你帶來非常大的誤導的!!!!
將你剛才下載下來的開發包裡面的東西複製粘貼到你項目中的 libs 下, 假設你用的 android studio 千萬別忘了要在 build下加入

sourceSets {        main {            jniLibs.srcDirs = [‘libs‘]        }    }

然後就是配置你的 manifest 檔案:
首先是許可權:

<!-- 這個許可權用於進行網路定位-->    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>    <!-- 這個許可權用於訪問GPS定位-->    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>    <!-- 用於訪問wifi網路資訊,wifi資訊會用於進行網路定位-->    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>    <!-- 擷取電訊廠商資訊,用於支援提供電訊廠商資訊相關的介面-->    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>    <!-- 這個許可權用於擷取wifi的擷取許可權,wifi資訊會用來進行網路定位-->    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>    <!-- 用於讀取手機當前的狀態-->    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>    <!-- 寫入擴充儲存。向擴充卡寫入資料,用於寫入離線定位元據-->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>    <!-- 訪問網路,網路定位須要上網-->    <uses-permission android:name="android.permission.INTERNET" />    <!-- SD卡讀取許可權。使用者寫入離線定位元據-->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

然後是百度地圖的服務:

<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"/>

最後一個最重要的是配置特有的 key,

<meta-data            android:name="com.baidu.lbsapi.API_KEY"            android:value="" /> //key:開發人員申請的key

將你剛才在百度平台上擷取的key 加入到這裡就可以
接下來就是在 Demo 中進行定位與地圖展示,在我的 demo中寫的非常具體了,相關凝視也有,能夠下載下來看下,這裡不再贅述,要注意的是在整合地圖展示的功能時,發現執行會報錯,那是由於沒有初始化:

SDKInitializer.initialize(getApplicationContext());

而且該方法要加入在 setContentView() 方法的前面才有效,所以我們選擇將該方法加入到 application中就可以.
QQ技術交流群:190088567
項目:
http://download.csdn.net/detail/xiaoxin_android/9493348

Android 開發之整合百度地圖的定位與地圖展示

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.