安卓项目中导入百度地图开源jar包

安卓项目中导入百度地图开源jar包


1、在baidu上搜索百度地图开发者,进入后注册账户。

在这里插入图片描述
2、注册好账户之后,点开控制台,创建应用。在填写信息的时候,需要在安卓开发软件上获取SHAR码。
在这里插入图片描述
在这里插入图片描述
3、打开AS的命令行,执行如下代码:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey
如果出现keytool命令无法识别,就需要:
1)打开自己电脑里的AS安装目录,找到AS文件夹/jre/bin,然后你就可以在bin目录下清晰地看到keytool.exe文件。
2)如果你的AS里命令行的默认路径不是AS文件夹/jre/bin,这时候就需要修改命令行路径了。
具体:

切换盘符 f:
进入盘符目录 cd 文件夹名

在这里插入图片描述
4、进入到keytool所在路径之后还需要找到debug.keystore路径,也需要打开我们自己电脑的c盘,不出意外应该是在"c://用户/用户名/.android"里面,然后我们把~/.android/debug.keystore -alias androiddebugkey替换成我们自己电脑里的路径,执行。
5、执行后输入密钥:android(不会显示)然后就会出现SHAR密码了!
6、之后我们就可以根据官方的开发文档来下载jar包。具体见百度官方文档
在这里插入图片描述
7、导入好之后的项目目录:
在这里插入图片描述
Manifest里配置:
在这里插入图片描述
在build.gradle里建立依赖,建立完以后项目会自动配置相应文件
在这里插入图片描述
mainifest配置:

<service
            android:name="com.baidu.location.f"
            android:enabled="true"
            android:process=":remote" />
 <!-- 这个权限用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,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" />

地图初始化:

baiduMap=mapView.getMap();
        //baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);

        baiduMap.setMyLocationEnabled(true);

activity类里的内部类:

 public class MyLocationListener extends BDAbstractLocationListener {


        @Override
        public void onReceiveLocation(BDLocation bdLocation) {
            if (bdLocation == null || mapView == null){
                return;
            }
            MyLocationData locData = new MyLocationData.Builder()
                    .accuracy(bdLocation.getRadius())
                    // 此处设置开发者获取到的方向信息,顺时针0-360
                    .direction(bdLocation.getDirection()).latitude(bdLocation.getLatitude())
                    .longitude(bdLocation.getLongitude()).build();
            baiduMap.setMyLocationData(locData);
        }

    }

地图显示函数嵌入到activity生命周期:

   @Override
    protected void onStart() {
        super.onStart();
        Log.d("activity","activity is onStart.");

    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d("activity","activity is onStop.");
    }

    @Override
    protected void onDestroy() {
        mLocationClient.stop();
        baiduMap.setMyLocationEnabled(false);
        mapView.onDestroy();
        mapView = null;
        super.onDestroy();
        Log.d("activity","activity is onDestroy.");
    }

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

        Log.d("activity","activity is onPause.");
    }

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

        Log.d("activity","activity is onResume.");
    }

然后根据官方文档测试一下地图
在这里插入图片描述
还可以显示卫星图
在这里插入图片描述
项目地址百度地图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值