近期使用百度地圖,,研究了一下百度地圖的demo,。
一、首先是要申請百度地圖開發(fā)賬號
申請地址:
http://lbsyun.baidu.com/apiconsole/key
自己注冊賬號即可,。
二,、然后是創(chuàng)建應(yīng)用
這時要做好兩點準(zhǔn)備:
1,確定好app的包名,,例如我的就是”com.app.app_dev”,;
2,,準(zhǔn)備好一個簽名文件,例如我的就是 app_dev.keyStore,,
先進(jìn)入keystore文件所在目錄,,然后在命令行中執(zhí)行命令,可以獲取到sha1值:
keytool -list -v -keystore app_dev.keystore
當(dāng)然,,這些內(nèi)容,,也可以在后期來修改。
創(chuàng)建完成,,就得到了一個key,,這個東西是app中打開百度地圖必須要用到的。
三,、下載demo
到如下地址下載即可:
http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download
當(dāng)然,,順便看看“使用說明”、開發(fā)指南,,都會很有幫助的,。
說句題外話:很多時候,我們遇到問題,,大部分是我們沒有用好api,。為何沒有用好?就是文檔看得少了,。
四,、解壓demo,導(dǎo)入工程
我下載的是 BaiduMap_AndroidSDK_v4.1.1_All.zip ,,解壓開,,里面分3部分:
libs:庫文件
BaiduMap_AndroidSDK_v4.1.1_Docs.zip:文檔
BaiduMap_AndroidSDK_v4.1.1_Sample.zip:例程
這里我們先關(guān)注例程,繼續(xù)解壓,,里面有兩個demo,,
一個是Eclipse的:BaiduMapsApiDemo,
一個是Android Studio的:BaiduMapsApiASDemo,。
我們把BaiduMapsApiASDemo的整個目錄,,拷貝到自己的工作環(huán)境下。然后導(dǎo)入到android Studio中,。
五,、設(shè)置gradle編譯參數(shù)
直接導(dǎo)入進(jìn)來,還是不能用的,。我們要把我們的包名,、簽名、key用起來,。
考慮到簽名與key的匹配問題,,我將debug版本也設(shè)置為使用release的簽名了,,這樣子,無論debug版還是release版,,都使用同一個簽名文件,,也不會遇到debug版不能出現(xiàn)地圖,而release版才能看見地圖的問題了,。
在Module的build.gradle中這樣做:
signingConfigs {
// keystore
release {
storeFile file("app_dev.keystore") //指定了簽名文件,,要存放在Module目錄下,即與Module的build.gradle同目錄
storePassword "myPassword"
keyAlias "app_dev"
keyPassword "myPassword"
}
}
defaultConfig {
applicationId "com.app.app_dev" //指定了包名
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
signingConfig signingConfigs.release
}
buildTypes {
debug {
//debug版本也使用release簽名
signingConfig signingConfigs.release
}
release {`這里寫代碼片`
//使用release簽名
signingConfig signingConfigs.release
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
另外,,還有一個key,,在清單文件中指定:
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="My API Key" />
用簽名申請的key,替換掉上面的 "My API Key" 即可,。
六,、編譯、運行
一切順利的話,,就能編譯運行了,。不過,由于我的gradle的版本與demo不一致,,光更新個gradle就讓我好一頓等待,。
然后,居然給我提示了一個錯誤:
Error: This class should be public (com.baidu.mapapi.clusterutil.ui.RotationLayout) [Instantiatable]
好吧,,比較簡單,,并且可以忽略過去繼續(xù)往下走。我還是改一下,,就是加個public嘛,,也許是提供demo的人疏忽了吧。
然后,,就出界面了,,有圖為證:
七、稍做修改,,看看改動效果
我修改的是 MarkerClusterDemo.Java ,,只是修改了幾個經(jīng)緯度值,很好,,地圖中心成功從帝都轉(zhuǎn)移了,還是很聽話的嘛,。
再給張圖:
我的demo地址(直接導(dǎo)入即可使用哦):
http://download.csdn.net/detail/lintax/9720235
|