當前位置:網站首頁>百度地圖開發-搭建基礎脚手架 01
百度地圖開發-搭建基礎脚手架 01
2022-01-27 12:28:21 【Andy阿輝】
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值。
- 運行進入控制臺
Windows:運行 -> 輸入cmd -> 確定。
Mac:直接打開 終端。
- 在控制臺內,定比特到.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後如何添加到項目中,並成功顯示出百度地圖,讓我們期待下期推文,不見不散。
小寄語
人生短暫,我不想去追求自己看不見的,我只想抓住我能看的見的。
原創不易,給個關注。
我是阿輝,感謝您的閱讀,如果對你有幫助,麻煩點贊、轉發 謝謝。
版權聲明
本文為[Andy阿輝]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201271228211566.html
邊欄推薦
猜你喜歡
隨機推薦
- uniapp上傳圖片及組件傳值
- 瑞利年金險資金保障安全嗎?收益高不高啊?
- 華為手機USB連不上電腦的解决方法
- Flutter 2,移動金融應用開發
- 關於st25系列NFC標簽簡單介紹及st25TV系列用於門禁讀取時的注意事項總結
- 關於用ffmpeg轉手機視頻發現視頻長寬倒了的問題
- 函數 / 類模板--模板2
- 數組中的第k個最大的元素--優先級隊列、排序、堆、排序
- 單片機實例27——ADC0809A/D轉換器基本應用技術(硬件電路圖+匯編程序+C語言程序)
- Collection集合的學習
- 一場面試結束,某度員工從事Android 5年為何還是初級工程師?
- 3本書閱讀筆記【人月神話-Go語言實戰-研發能力持續成長路線】01
- PHP垃圾回收機制
- 【電子技術】什麼是LFSR?
- 死鎖?如何定比特到死鎖?如何修複死鎖?(jps和jstack兩個工具)
- 快樂寒假 22/01/20
- image
- 噴程序員?SURE?
- LDO分壓電阻計算小工具
- 面試之求一串字符串中每個字符的出現次數
- 【ISO15765_UDS&OBD診斷】-01-概述
- 【Mysql上分之路】第九篇:Mysql存儲引擎
- RHCE 第一次作業
- 2021.10.16我的第一篇博客:一切皆有可能!
- CTA-敏感行為-讀取IMEI
- 面試被問怎麼排查平時遇到的系統CPU飆高和頻繁GC,該怎麼回答?
- nuxt項目總結-綜合
- 自然語言處理學習筆記(一)
- C語言第一課
- 各比特大佬,Spark的重點難點系列暫時更新完畢
- 基於 esbuild 的 universal bundler 設計
- XCTFre逆向(四):insanity
- 理解什麼是真正的並發數
- JVM腦圖
- 【Pytorch(四)】學習如何使用 PyTorch 讀取並處理數據集
- 函數棧幀的創建與銷毀
- 構建神經網絡- 手寫字體識別案例
- 多模態生成模型ERNIE-VILG
- kotlin不容忽視的小細節
- 備戰一年,終於斬獲騰訊T3,我堅信成功是可以複制的