Android高德地圖開(kāi)發(fā)(一)環(huán)境搭建

一、序言

如今移動(dòng)端開(kāi)發(fā)越來(lái)越多,各式各樣App層出不窮宏多,作為一位Android開(kāi)發(fā)者為滿足廣大用戶花里胡哨(變態(tài))的需求,需要不斷地學(xué)習(xí)各種技術(shù)來(lái)提升自己澡罚。自己做Android開(kāi)發(fā)也有段時(shí)間了伸但,遇到了問(wèn)題就在網(wǎng)上搜索,瀏覽各大博客獲益良多留搔,在此感謝曾經(jīng)幫助我的朋友們更胖。于是,在我一位搞技術(shù)的朋友影響之下,決心開(kāi)始寫(xiě)點(diǎn)東西却妨,想把自己學(xué)的東西做一個(gè)總結(jié)饵逐,同時(shí)也希望可以對(duì)其他同僚有些幫助。

二彪标、本章內(nèi)容

  • 搭建高德地圖Android平臺(tái)開(kāi)發(fā)環(huán)境
  • 顯示地圖

三倍权、Android高德地圖環(huán)境搭建

1.開(kāi)發(fā)環(huán)境
開(kāi)發(fā)工具:AndroidStudio3.1.4
操作系統(tǒng):Win10
其他條件:請(qǐng)先配置好JDK的開(kāi)發(fā)環(huán)境(后面會(huì)用到)
地圖SDK:高德地圖6.50 3D基礎(chǔ)地圖+定位+導(dǎo)航

2.下載好高德地圖的SDK
地址:https://lbs.amap.com/api/android-sdk/download/
注冊(cè)一個(gè)高德地圖開(kāi)發(fā)平臺(tái)的賬號(hào)

3.創(chuàng)建一個(gè)Android項(xiàng)目

4.獲取注冊(cè)高德Key使用的SHA1值與PackageName
高德地圖開(kāi)發(fā)文檔中都有 https://lbs.amap.com/faq/top/hot-questions/249
這里我做簡(jiǎn)要的說(shuō)明:
首先獲取SHA1值,需要一個(gè)keystore文件(即發(fā)布時(shí)簽名用到的文件.jks格式的文件)如果有不明白的同學(xué)可以去查下 AndroidStudio生成簽名文件

通過(guò)Android Studio編譯器獲取SHA1
第一步捞烟、打開(kāi)Android Studio的Terminal工具
第二步薄声、輸入命令:keytool -v -list -keystore keystore文件路徑
第三步、輸入Keystore密碼

使用 keytool(jdk自帶工具)獲取SHA1
1.行進(jìn)入控制臺(tái)题画。
2.在彈出的控制臺(tái)窗口中輸入 cd .android 定位到 .android 文件夾默辨。
3.繼續(xù)在控制臺(tái)輸入命令。
debug.keystore:命令為:keytool -list -v -keystore debug.keystore
自定義的 keystore:命令為:keytool -list -v -keystore apk的keystore

上面這個(gè)步驟是高德地圖開(kāi)發(fā)文檔里面的苍息,keytool命令是JDK里面的廓奕,配置好的JDK環(huán)境可以直接調(diào)用此命令,如果提示找不到那么多半是JDK環(huán)境沒(méi)有配置档叔。keystore文件路徑就是剛剛生成的簽名文件的路徑桌粉,原文是xxx.keystore,我們生成的xxx.jks文件直接使用。此處會(huì)讓你輸入密碼衙四,直接輸入生成文件是第一個(gè)密碼铃肯,生成文件的第二個(gè)密碼是簽名密碼暫不需要。直接回車鍵传蹈,就可以得到SHA1值押逼。

然后到高德地圖開(kāi)發(fā)平臺(tái),申請(qǐng)key惦界。登陸到高德地圖開(kāi)發(fā)平臺(tái)挑格,控制臺(tái)->應(yīng)用管理->我的應(yīng)用
①創(chuàng)建新應(yīng)用
②添加key
③提交就ok

1.png
2.png
3.png
4.png
  1. 到此我們的高德地圖Key就已經(jīng)獲取到了,接下來(lái)就在我們的項(xiàng)目中加入地圖
    ①首先將SDK包加入到我們項(xiàng)目中


    5.png

②然后配置build.gradle文件


6.png

③配置AndroidManifest.xml


7.png
    <!--允許程序打開(kāi)網(wǎng)絡(luò)套接字-->
    <uses-permission android:name="android.permission.INTERNET" />
    <!--允許程序設(shè)置內(nèi)置sd卡的寫(xiě)權(quán)限-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!--允許程序獲取網(wǎng)絡(luò)狀態(tài)-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!--允許程序訪問(wèn)WiFi網(wǎng)絡(luò)信息-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--允許程序讀寫(xiě)手機(jī)狀態(tài)和身份-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!--允許程序訪問(wèn)CellID或WiFi熱點(diǎn)來(lái)獲取粗略的位置-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<meta-data
     android:name="com.amap.api.v2.apikey"
     android:value="您的高德地圖Key" />

6.配置好后開(kāi)始顯示地圖
①Activity的activity_main.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.amap.api.maps.MapView
        android:id="@+id/map_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

②Activity

public class MainActivity extends AppCompatActivity {

    private MapView mapView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mapView = (MapView) findViewById(R.id.map_view);
        mapView.onCreate(savedInstanceState);// 此方法必須重寫(xiě)
        AMap aMap = mapView.getMap();
    }

    @Override
    protected void onStart() {
        super.onStart();
    }

    @Override
    protected void onResume() {
        super.onResume();
        mapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mapView.onPause();
    }

    @Override
    protected void onStop() {
        super.onStop();
    }

    @Override
    protected void onDestroy() {

        mapView.onDestroy();
        super.onDestroy();
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        mapView.onSaveInstanceState(outState);
    }
}

7.編譯運(yùn)行后就可以看到地圖了


9.jpg

如果遇到地圖加載不起沾歪,程序崩潰請(qǐng)看高德地圖開(kāi)發(fā)文檔
https://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project

10.png

遇到有黑屏的情況漂彤,請(qǐng)仔細(xì)檢查下配置,用真機(jī)調(diào)試最好灾搏,虛擬機(jī)各種問(wèn)題很是麻煩挫望,Genymotion老是崩潰報(bào)錯(cuò)GLsurfaceview
出錯(cuò),Google虛擬機(jī)黑屏狂窑,圖標(biāo)媳板,放縮按鈕都有就是地圖黑屏,真機(jī)沒(méi)有問(wèn)題泉哈。具體原因不是很清楚蛉幸,估計(jì)跟CPU架構(gòu)有關(guān)系破讨,希望有知道的大神可以為小弟解惑。
以上就是Android平臺(tái)高德地圖開(kāi)發(fā)的基本準(zhǔn)備工作奕纫,后續(xù)我還將繼續(xù)推出地圖開(kāi)發(fā)提陶,感興趣的朋友可以關(guān)注。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末若锁,一起剝皮案震驚了整個(gè)濱河市搁骑,隨后出現(xiàn)的幾起案子斧吐,更是在濱河造成了極大的恐慌又固,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煤率,死亡現(xiàn)場(chǎng)離奇詭異仰冠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蝶糯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門洋只,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人昼捍,你說(shuō)我怎么就攤上這事识虚。” “怎么了妒茬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵担锤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我乍钻,道長(zhǎng)肛循,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任银择,我火速辦了婚禮多糠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浩考。我一直安慰自己夹孔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布析孽。 她就那樣靜靜地躺著析蝴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绿淋。 梳的紋絲不亂的頭發(fā)上闷畸,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音吞滞,去河邊找鬼佑菩。 笑死盾沫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的殿漠。 我是一名探鬼主播赴精,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼绞幌!你這毒婦竟也來(lái)了蕾哟?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤莲蜘,失蹤者是張志新(化名)和其女友劉穎谭确,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體票渠,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逐哈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了问顷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昂秃。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖杜窄,靈堂內(nèi)的尸體忽然破棺而出肠骆,到底是詐尸還是另有隱情,我是刑警寧澤塞耕,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布蚀腿,位于F島的核電站,受9級(jí)特大地震影響荷科,放射性物質(zhì)發(fā)生泄漏唯咬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一畏浆、第九天 我趴在偏房一處隱蔽的房頂上張望胆胰。 院中可真熱鬧,春花似錦刻获、人聲如沸蜀涨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厚柳。三九已至,卻和暖如春沐兵,著一層夾襖步出監(jiān)牢的瞬間别垮,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工扎谎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碳想,地道東北人烧董。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像胧奔,于是被迫代替她去往敵國(guó)和親逊移。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容