idea上android开发--简单使用百度地图调用

一,开发工具

  • 编译工具:idea

二,代码编写

1,配置百度地图

  • 密钥申请
    在这里插入图片描述
    首先是Sha1获取
    在控制台页面或者idea自带的控制台页面,进入到自己的用户文件夹下,找到 debug.keystore 文件,一般是这个目录
    在这里插入图片描述
    然后复制 debug.keystore 文件路径‪C:\Users\17954.android\debug.keystore
    在idea命令行敲如下命令
keytool -list -v -keystore C:\Users\17954\.android\debug.keystore

在这里插入图片描述
密码默认是android
进入后复制下方的sha1码
然后是包名
打开build.gradle 这个要是自己的app下配置目录
在这里插入图片描述
同样复制
输入之后就能到自己的控制台了。

2,下载百度地图SDK

  • 百度地图SDK下载
    这里下载记得要勾选定位
    解压后把里面的文件复制到开发工具的 libs下
  • 在app目录下的build.gradle文件中android块中配置sourceSets标签,如果没有使用该标签则新增,详细配置代码如下
sourceSets {
   
           main {
   
               jniLibs.srcDir 'libs'
           }
    }
  • 导入依赖
    打开setting下的project Structure
    在这里插入图片描述
    这里我是导入过了的
    未导入则点击加号,然后jar,选择libs下的jar包就好
    选择之后apply,等待框架构建,可以发现工作目录下多了一个文件夹,以及多了几行代码
    在这里插入图片描述

3,项目配置

前面就算是基本的准备流程了,再来是项目的具体应用
1.配置AndroidManifest.xml文件中添加

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="开发者 key" />  
</application>

开发者 key就是控制台中的ak
以及在外层添加

<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
<!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

2,添加控件
在布局文件xml中添加

<com.baidu.mapapi.map.MapView  
    android:id="@+id/bmapView"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:clickable="true" />

由于是不支持直接拖拽的,要以代码形式添加
3,创建运行类

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);
    }
}

在AndroidManifest.xml文件中声明该Application

            android:name=".DemoApplication"

这个是加在 application 标签内的
4,编写执行类
这里以主控制类为例

public class MainActivity extends AppCompatActivity {
   
    private MapView mMapView=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值