1. 程式人生 > 其它 >百度地圖開發-搭建基礎腳手架 01

百度地圖開發-搭建基礎腳手架 01

01 搭建基礎腳手架

由於工作需要,最近在研究Android版百度地圖SDK,仔細閱讀其公開文件(官方教程)後,只想說一句:百度的教程牛叉,寫的很不通俗易懂,新手按照那個文件來操作會遇到各種坑,根本很難實現其簡單地圖功能。而且文件長久沒有更新,地圖的SDK中很多方法和變數都已經被棄用掉,反正就是很難按照官方給的教程自己能順順利利的搞出來。

在自己的摸索和探究下,完成了Android版百度地圖的常規開發業務。最近我就在想是不是可以寫一個基礎教程出來,這樣新手參考這個教程就能避免很多坑,而且也能快速上手實現其基礎功能,把更多精力放到業務邏輯中,希望這份教程能幫助到大家。

瞭解基礎知識

百度地圖SDK地址

https://lbsyun.baidu.com/index.php?title=androidsdk

百度定位SDK地址https://lbsyun.baidu.com/index.php?title=android-locsdk

百度地圖是目前國內地圖行業的佼佼者,由於地圖覆蓋面廣、精度高、系統穩定且使用者基數眾大,所以很多開發者從一開始就選擇百度地圖作為專案的第三方底層地圖功能。

百度地圖SDK分為多種開發包,有Android SDK,IOS SDK,Web開發 SDK,可滿足使用者多場景的使用。

雖然說百度地圖文件操作起來各種隱形的坑,但是如果新手想全方位認識瞭解百度地圖還是需要從頭開始仔細進行閱讀,對後期業務開發很有幫助(畢竟是官方寫的東西,有些技術點還是有羅列的

)。

第一: 重點了解的主要是開發指南,裡面對於地圖的實現細節進行了闡述。

第二: 其次對於上面圖片中的常見問題也要進行仔細閱讀,你在按照教程學習時,遇到的80%的Bug都能在常見問題欄找到對應的解決方法。

第三:示例中心,你可以下載到目前百度官方給的Demo程式碼,你可以根據你需要實現的業務來下載進行學習。

這個教程後面我會將程式碼上傳到Gitee和Github上,大家可以自行進行下載學習。

也可以關注我的原創公眾號【Andy阿輝】,獲取對應的原始碼,進行交流學習。

要想實現百度地圖的巢狀使用,必須按照以下幾個步驟來操作進行。

  • 註冊和申請金鑰

其實註冊百度賬號,申請成為百度的開發者,後續在開發過程中,對於每一個需要使用百度地圖的軟體,都需要在百度地圖中申請一個金鑰,才可以正常的載入和訪問。

  • 下載特定SDK,引入到指定專案

百度地圖將自身的資源和程式碼都封裝整合到了特定的SDK中,我們想實現百度地圖功能,必須先下載對應的SDK並將其成功引入到專案中。

  • 配置專案中地圖的相關環境

配置其特定的環境,讓百度地圖SDK可以正常工作,否則百度地圖無法在Android專案中被應用。

1、註冊和申請金鑰

百度地圖教程中在“獲取金鑰>>”欄和【開發指南-專案建立-註冊和獲取金鑰】中單獨寫了一頁進行描述。

教程:https://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/ak

百度地圖 SDK開發金鑰的申請地址為:https://lbs.baidu.com/apiconsole/key

開發者在使用SDK之前需要獲取百度地圖移動版開發金鑰(AK),該AK與您的百度賬戶相關聯。請妥善儲存您的AK,地圖初始化時需要使用AK。

你可以按照上面的要求進行註冊和申請,總共有以下幾點:

  • 先申請百度賬號,進行登入。
  • 登入後進去API控制檯。

  • 點選“建立應用”開始申請開發金鑰。

  • 填寫應用名稱,注意應用型別選擇“Android SDK”、正確填寫SHA1 和 程式包名(SHA1和包名的獲取方法見下文)。如圖:

申請的前提是你得有一個可以執行的Android專案,因為這裡需要使用到AppliacationID值,這裡的流程你都可以參考百度官方給的文件進行操作,很簡單,沒有什麼難度。其中需要有幾點需要注意的問題,目前在官方文件中沒有重點說明,你在操作的過程中一定會遇到的(畢竟我遇到了)。

可以看到在上面圖片中我特別標記為紅色的有三處,其中第二是特別需要注意的,官方文件只是告訴你在cmd中執行下面命令就可以得到其加密的SHA1值,但是它說的是通用的Debug版本,按照教程操作,你只能得到下面“開發板SHA1”的值,及時你編碼完成釋出後,百度地圖在載入使用時會出現載入不出來,無法顯示等問題。

官方申請釋出版SHA1地址:https://lbsyun.baidu.com/index.php?title=FAQ/SHA1

輸入命令列和密碼,即可獲取SHA1等資訊;

官方在介紹時用了三種方式進行了演示,很全面,但是它在這塊沒有給大家交代清楚會遇到問題,沒有把開發版和釋出版進行區別,目前根據教程得到的SHA1是開發版的,根本沒有說釋出版的事情。

命令列:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey (注意目錄選擇、開發版本、釋出版本等問題)

這裡使用CMD的方式來演示下如何獲取開發版和釋出版的SHA1值。

  1. 執行進入控制檯

Windows:執行 -> 輸入cmd -> 確定。

Mac:直接開啟 終端。

  1. 在控制檯內,定位到.android資料夾,輸入cd .android

Windows與Mac操作一致,如下截圖為Win效果。

官方提示在此資料夾下執行下面程式碼,即可得到SHA1的值。

keytool -list -v -keystore ~/.android/debug.keystore -alias android debugkey

操作中的密碼為原始密碼一般為android,開發者根據實際情況填寫。

可以看到下面圖片,是我得到的SHA1的值,其實這裡得到的是開發版的值,可以寫到上面開發版的位置處。

由於Android Studio的更新,目前我們釋出軟體時,得使用新的金鑰或自己定義的,它的結尾是.jks的,我們如果想生產釋出時的SHA1值,那麼得在CMD中定位到新金鑰處,利用新金鑰來生產SHA1值。

此時將釋出版和開發版金鑰,以及PackageName填寫到上文需要填寫的地方就順利完成了百度地圖金鑰的申請。後期在將其寫到Android專案程式中才可以正常的訪問地圖。

在這裡我們就完成了百度地圖的註冊環節。恭喜你,已經順利打響了第一槍。接下來我將介紹下載SDK後如何新增到專案中,併成功顯示出百度地圖,讓我們期待下期推文,不見不散。

小寄語

人生短暫,我不想去追求自己看不見的,我只想抓住我能看的見的。

原創不易,給個關注。

我是阿輝,感謝您的閱讀,如果對你有幫助,麻煩點贊、轉發 謝謝。

作者:阿輝 關注我:微信掃描下面二維碼,6T程式設計資料免費送。 微信公眾號:Andy阿輝
寫一些程式設計師的所思所想,希望對你有幫助。
出處:http://www.cnblogs.com/netxiaoahui/ 版權宣告:本文版權歸作者和部落格園共有,歡迎轉載,
但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利.