android6.0 百度地图,Android studio实现百度地图显示

最近做毕业设计老师给我们讲解了如何使用百度地图API,在自己学到知识的同时也想分享给大家,一来是互相学习,二来就是混一点csdn的积分,然后就能省钱下载人家的项目再深入学习

效果图

0b70e6a190ffe2f18ecddfc0e661540f.png

注册百度地图开发开放平台账号

1、搜索百度开发开放平台

038f2aca5f6a5bf13dd1a451941e1b14.png

如果有账号的话就登录,没有账号注册一个

登录后打开开发文档,选择androidSDK

cd81f4c5d9ef1a810554b5d087d70cf4.png

接下来的操作在这个网址里都有说明:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/ak.,就不一一详解了,按照官方的说法去创建一个需要使用百度地图API功能APP6bf27b74953e6ca26b3a211c70762822.png

下载配置相关功能包http://lbsyun.baidu.com/index.php?title=sdk/download&action#selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar

899e3891c3d5f7049d9793c0e874c944.png

根据自己需要开发的功能下载相应的开发包

导包

下载解压后打开libs文件夹并复制所有的文件

f0d6e334528c5f068fcf97060609f3f2.png

打开android studio,在这里切换到Project Files

73101541381e6b70feaa0db6befa5269.png

切换后就可以看到libs文件夹了

f7a8455b62d41a44a11da7de373669e8.png

接下来,在app目录下的build.gradle文件中android块中配置sourceSets标签,如果没有使用该标签则新增,详细配置代码如下:

sourceSets {

main {

jniLibs.srcDir ‘libs’

}

}

如图:

4a7614e30a990d6d0d9492d99ec63425.png

往工程中添加jar文件

1、菜单栏选择File -> Project Structure

2、在弹出的Project Structure对话框中选中左侧的Modules列表下的app目录,然后点击右侧页面中的Dependencies选项卡。如图:

451bc83a691cc513175a0880fd1be69c.png

在弹出的对话框选择我们刚刚导入的jar文件

31451a257e0594941f7894d7a32cddee.png

然后点击ok,ok,在build.gradle文件就可以看到新添加了一行依赖

533b5fea8244c574ad04870047fb1578.png

应用混淆(保证百度类不能被混淆,否则会出现网络不可用等运行时异常)

现在我们的应用中已经集成了百度地图SDK,当我们在打包混淆的时候需要注意于BaiduMap SDK 相关的内容不应该被混淆,所以我们需要配置混淆文件。

1、打开app目录下的build.gradle文件,在release代码块中添加如下内容(若已经由Android Studio自动生成,则不用手动配置)

a1ab416ee427e7ab847a108d68e0d0ce.png

2、编写混淆文件,打开app目录下的proguard-rules.pro文件,添加如下代码

-keep class com.baidu.** {;}

-keep class mapsdkvi.com.** {;}

-dontwarn com.baidu.**

显示地图

第一步 配置AndroidManifest.xml文件(开发者key为创建应用时的key),如图:

a4f8dcb5671a0ad09e93f326bf9e78a3.png

在AndroidManifest.xml文件中加入如下代码配置开发密钥(AK)

befad8ea17294d3faffa64aba72e2822.png

第二步 在外部添加如下权限声明(自Android6.0起部分权限的使用需要开发者在代码中动态申请):

512f6fbd60b6f4ecabcd5bfcb60f0211.png

第三步 在布局文件中添加地图容器

MapView是View的一个子类,用于在Android View中放置地图。MapView的使用方法与Android提供的其他View一样。

android:id="@+id/bmapView"

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:clickable=“true” />

42bf8fc7217f385bdb9d564d1f5dbe73.png

第四步 地图初始化

新建一个自定义的Application,在其onCreate方法中完成SDK的初始化。示例代码如下:

public class DemoApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

//在使用SDK各组件之前初始化context信息,传入ApplicationContext

SDKInitializer.initialize(this);

//自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.

//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。

SDKInitializer.setCoordType(CoordType.BD09LL);

}

}

f569e572472819561045bd9f055cd4a2.png

第五步 在AndroidManifest.xml文件中声明该Application

58032559a59cd86786af3979270fd726.png

第六步 创建地图Activity,管理MapView生命周期(应用生命周期结束时地图的生命周期也要结束,否则会后台运行,增加耗电量)

public class MainActivity extends Activity {

private MapView mMapView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取地图控件引用

mMapView = (MapView) findViewById(R.id.bmapView);

}

@Override

protected void onResume() {

super.onResume();

//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理

mMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理

mMapView.onPause();

}

@Override

protected void onDestroy() {

super.onDestroy();

//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理

mMapView.onDestroy();

}

}

44b917b651d2c7bcaeeda47f4f26f566.png

39503b02a3de7d7fe432b600223c36fe.png

源码:https://download.csdn.net/download/baidu_41616022/12028742

本文参考:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-map/showmap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值