百度地图使用和常用问题

百度地图相信大家都不陌生,我们经常使用他!但是怎么操作他那,

其实他和高德地图差不多

首先我们需要到百度官网注册账号

http://lbsyun.baidu.com/

注册完之后创建应用

在这里插入图片描述

上图中主要就是发布版SHA1:我有一个简单的小方法,不用再cmd命令keytool -v -list -keystore…找啦,直接我们打开自己的安卓Studio,打开我们安卓页面右侧的大象,随便点击一个自己的项目找到android中signingReport点击他

在这里插入图片描述
在这里插入图片描述

然后创建完之后复制一下我们key

在这里插入图片描述

接下来就该操作啦,在清单文件中application下放入我们自己的key

   <meta-data android:name="com.baidu.lbsapi.API_KEY"
            android:value="MgmbgPTzpKs9fUgLUBZATbq9UsH2iv0g"></meta-data>

添加权限,如果说清单中报错是权限的话,那就是注释不能// 快捷键ctrl+/一下

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--//网络权限,当禁用后,无法进行检索等相关业务-->
<uses-permission android:name="android.permission.INTERNET" />
<!--//读取系统信息,包含系统版本等信息,用作统计-->
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<!--//获取设备的网络状态,鉴权所需网络代理-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--//允许sd卡写权限,需写入地图数据,禁用后无法显示地图-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--//这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.WRITE_SETTINGS"
    tools:ignore="ProtectedPermissions" />
<!--//这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--//获取统计数据-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--//使用步行AR导航,配置Camera权限-->
<uses-permission android:name="android.permission.CAMERA" />
<!--//程序在手机屏幕关闭后后台进程仍然运行-->
<uses-permission android:name="android.permission.WAKE_LOCK" />

当然我们自己下载的libs包也需要覆盖一下,如果说我们不覆盖一下的话也会导致项目出现问题

自定义一个Application类然后再清单中注册一下

在这里插入图片描述
在这里插入图片描述

布局文件

在这里插入图片描述

测试类显示操作:

public class MainActivity extends AppCompatActivity {
    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();
    }
}

项目效果:

在这里插入图片描述

路线

mSearch = RoutePlanSearch.newInstance();
    mSearch.setOnGetRoutePlanResultListener(new OnGetRoutePlanResultListener() {
        @Override
        public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) {

        }

        @Override
        public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) {

        }

        @Override
        public void onGetMassTransitRouteResult(MassTransitRouteResult massTransitRouteResult) {

        }

        @Override
        public void onGetDrivingRouteResult(DrivingRouteResult drivingRouteResult) {
            DrivingRouteOverlay overlay = new DrivingRouteOverlay(baiduMap);
            if (drivingRouteResult.getRouteLines().size() > 0) {
                //获取路径规划数据,(以返回的第一条路线为例)
                //为DrivingRouteOverlay实例设置数据
                overlay.setData(drivingRouteResult.getRouteLines().get(0));
                //在地图上绘制DrivingRouteOverlay
                overlay.addToMap();
            }
        }

        @Override
        public void onGetIndoorRouteResult(IndoorRouteResult indoorRouteResult) {

        }

        @Override
        public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) {

        }
    });

  new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {

          PlanNode stNode = PlanNode.withCityNameAndPlaceName("北京", "西二旗地铁站");
          PlanNode enNode = PlanNode.withCityNameAndPlaceName("北京", "百度科技园");
          mSearch.drivingSearch((new DrivingRoutePlanOption())
                  .from(stNode)
                  .to(enNode));

      }
  },200);

效果:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值