安卓简单实现百度地图
Idea具有強(qiáng)大的整合能力,整合spring,git,Maven,vue毫無疑問,它也支持安卓啦,具體idea配置安卓可以參考 https://blog.csdn.net/le000426/article/details/121777124 ,我還是要說idea yyds,本文是關(guān)于地圖的,所以項目創(chuàng)建初始化工作就帶過了,不會的自行搜索一下教程哈。
創(chuàng)建安卓應(yīng)用
????????上面已經(jīng)說到了idea配置好安卓啦,那么現(xiàn)在就直接新建安卓項目,選擇空項目,新建的語言要選java,其余的項目名可以自定義,寫自己喜歡的名字。如果創(chuàng)建的比較慢稍微等待一下,因為第一次需要下載環(huán)境,創(chuàng)建好了直接連接手機(jī)運(yùn)行一下,看看項目創(chuàng)建的有沒有問題。
準(zhǔn)備工作
-
登錄百度地圖,注冊成功開發(fā)者
-
獲取安卓的sha1,這里有快捷方式獲取到sha1值,如圖所示,直接看gradle工具。
-
進(jìn)入百度地圖控制臺,新建應(yīng)用,選擇安卓sdk類型,然后sha1填寫你獲取到的,包名選擇你安卓應(yīng)用的包名,如圖
-
?接下來就是導(dǎo)包的環(huán)節(jié)了,進(jìn)入網(wǎng)址SDK下載 - 百度LBS開放平臺 (baidu.com);下載你需要的包,這里我選擇的是基礎(chǔ)地位,基礎(chǔ)地圖,檢索,選擇配置當(dāng)然選擇jar包啦,點擊下載開發(fā)包,這里你也可以下載示例代碼看一看別人怎么寫的。
-
配置環(huán)境,將下載好的jar包解壓到app的libs文件夾下,如果沒有就新建該文件夾,如圖所示,直接右擊jar包,add library即可完成jar包的導(dǎo)入。如
-
?在安卓的gradle下的build.gradle里的defaultConfig里添加配置
現(xiàn)在就看地圖能不能運(yùn)行吧
注冊表文件里配置環(huán)境
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" package="com.yan.destiny"><!-- 訪問網(wǎng)絡(luò),進(jìn)行地圖相關(guān)業(yè)務(wù)數(shù)據(jù)請求,包括地圖數(shù)據(jù),路線規(guī)劃,POI檢索等 --><uses-permission android:name="android.permission.INTERNET" /><!-- 獲取網(wǎng)絡(luò)狀態(tài),根據(jù)網(wǎng)絡(luò)狀態(tài)切換進(jìn)行數(shù)據(jù)請求網(wǎng)絡(luò)轉(zhuǎn)換 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!-- 讀取外置存儲。如果開發(fā)者使用了so動態(tài)加載功能并且把so文件放在了外置存儲區(qū)域,則需要申請該權(quán)限,否則不需要 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!-- 寫外置存儲。如果開發(fā)者使用了離線地圖,并且數(shù)據(jù)寫在外置存儲區(qū)域,則需要申請該權(quán)限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 以上是顯示地圖的權(quán)限,如果你已經(jīng)配置過,就不用再配置了 --><!-- 以下是獲取當(dāng)前位置的權(quán)限,也就是需要額外加上的權(quán)限 --><!-- 這個權(quán)限用于進(jìn)行網(wǎng)絡(luò)定位 --><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- 這個權(quán)限用于訪問GPS定位 --><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"tools:ignore="ProtectedPermissions"/><applicationandroid:name=".DemoApplication"android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.Destiny"><serviceandroid:name="com.baidu.location.f"android:enabled="true"android:process=":remote"></service><meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="你申請的百度ak值"></meta-data><activityandroid:name=".MapActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity></application></manifest>編寫啟動類,?DemoApplication用于初始化地圖配置
package com.yan.destiny;import android.app.Application;import com.baidu.location.LocationClient; import com.baidu.mapapi.CoordType; import com.baidu.mapapi.SDKInitializer;public class DemoApplication extends Application {@Overridepublic void onCreate() {super.onCreate();//在使用SDK各組件之前初始化context信息,傳入ApplicationContextSDKInitializer.setAgreePrivacy(this, true);LocationClient.setAgreePrivacy(true);SDKInitializer.initialize(this);//自4.3.0起,百度地圖SDK所有接口均支持百度坐標(biāo)和國測局坐標(biāo),用此方法設(shè)置您使用的坐標(biāo)類型.//包括BD09LL和GCJ02兩種坐標(biāo),默認(rèn)是BD09LL坐標(biāo)。SDKInitializer.setCoordType(CoordType.BD09LL);} }主頁面,我這里是MapActivity
package com.yan.map;import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;public class MainActivity extends AppCompatActivity {private MapView mMapView = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_map);mMapView = findViewById(R.id.bmapView);} }xml文件,我是activity_map.xml文件
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.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=".MapActivity"><com.baidu.mapapi.map.MapViewandroid:id="@+id/bmapView"android:layout_width="match_parent"android:layout_height="match_parent"android:clickable="true" /></androidx.constraintlayout.widget.ConstraintLayout>大功告成,現(xiàn)在你就可以啟動頁面啦,一個地圖會直接顯示出來,快去試試吧,有問題的話評論區(qū)見。
?
總結(jié)
以上是生活随笔為你收集整理的安卓简单实现百度地图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乘风破浪的前端小姐姐,是如何一步步走向成
- 下一篇: 老姚浅谈:怎么学JavaScript?