百度地图使用及常见问题

地图的开发主要是参考官方文件,当然开发前,要注册帐号,且创建应用。
http://lbsyun.baidu.com/apiconsole/key

常见问题

  • POI 出现 permission_unfinished

原因:我们在官方网站,创建应用的时候,SHA1码,两个都要写上,发布版是必填的,开发版我没有填写,所有出不来数据。

  • POI 检索
    注意:POI的初始化不要放到onCreate方法里,否则没有效果

1.登录帐号且创建应用

如果没有百度地图开发者帐号,需要申请。然后登陆后,找到控制台,创建一个应用,获取SHA-1串号,最终获取appkey

1.1创建应用

找到应用管理
在这里插入图片描述

在这里插入图片描述

1.2 SHA1码 发布版和开发版

发布版和开发版,这两个建议都填写上,因为平时是使用开发版,到上线的使用发布版。

可以参考:http://lbsyun.baidu.com/index.php?title=FAQ/SHA1

1.2.1通过androidstudio 命令获取SHA1:

  • Androidstudio顶部菜单栏 view
  • 找到Terminal ,然后输入以下命令
  • keytool -list -v -keystore xxxxxxxx\.android\debug.keystore -alias androiddebugkey
  • 其中xxxxxxxx\.android\debug.keystore 是自己的studio默认签名。如:C:\Users\chen.android\debug.keystore
  • 输入以后会提示输入密码:默认密码是android

最后如下:
在这里插入图片描述
最后提交:记录appkey。

1.2.2 通过androidstudio gradle 获取SHA1:

右上角有个Gradle菜单栏,点击打开菜单,找到自己的项目如testmap,找到signingReport,双击执行。就会生成SHA1.这是最快捷的方式。
在这里插入图片描述

2.下载sdk和案例

http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/androidstudio
在这里插入图片描述

2.1配置androidstudio的项目:

1.下载开发包
2.将开发包拷贝至工程 找到BaiduLBS_Android.jar文件将其拷贝至工程的app/libs目录下

3.配置android

sourceSets {
main {
jniLibs.srcDir ‘libs’
}
}

4.工程中添加jar文件
5.资源说明 BaiduMapsApiASDemo/app/src/main/assets/ 拷贝到自己的项目
参考:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/androidstudio

2.2 显示地图

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

  • 配置appkey
  • 配置权限 动态权限(Grantor)
  • 配置App
  • 显示地图

2.3 BaiduMapOptions

BaiduMapOptions类支持设置的状态如下:

状态含义
mapStatus 地图状态
compassEnable是否开启指南针,默认开启
mapType地图模式,默认为普通地图
rotateGesturesEnabled是否允许地图旋转手势,默认允许
scrollGesturesEnabled是否允许拖拽手势,默认允许
overlookingGesturesEnabled是否允许俯视图手势,默认允许
zoomControlsEnabled是否显示缩放按钮控件,默认允许
zoomControlsPosition设置缩放控件位置
zoomGesturesEnabled是否允许缩放手势,默认允许
scaleControlEnabled是否显示比例尺控件,默认显示
scaleControlPosition设置比例尺控件位置
logoPosition设置Logo位置

使用:

BaiduMapOptions options = new BaiduMapOptions();
//设置地图模式为卫星地图
options.mapType(BaiduMap.MAP_TYPE_SATELLITE);
MapView mapView = new MapView(this, options);
setContentView(mapView);

3.显示定位-获取当前位置

官方说明

设置定位动态跟随

  mBaiduMap.setMyLocationConfiguration(new MyLocationConfiguration(MyLocationConfiguration.LocationMode.FOLLOWING,false,null));

4.覆盖物

http://lbsyun.baidu.com/index.php?title=androidsdk/guide/render-map/point

5.POI检索

注意:POI的初始化不要放到onCreate方法里,否则没有效果

http://lbsyun.baidu.com/index.php?title=androidsdk/guide/search/poi

6.路径规划

注:自V3.6.0起,原内置覆盖物(Overlay)相关代码开源,SDK中不再集成,下载使用。 覆盖物开源代码中提供了一些基于基础覆盖物而组合而成的高级覆盖物,包括用于显示poi数据,规划路线,公交详情路线的覆盖物。

IndoorRouteOverlay
/TransitRouteOverlay
/WalkingRouteOverlay
/BikingRouteOverlay
/DrivingRouteOverlay
/MassTransitRouteOverlay
/ 以上源码在BaiduMapApiASDemo工程(AndroidStudio开发环境)com.baidu.mapapi.ovelayutil包下。 在进行路线规划Overlay绘制时根据开发环境选择开源工程添加至项目中使用。

http://lbsyun.baidu.com/index.php?title=androidsdk/guide/route/walk

  private void initRoutePlan() {
        mSearch = RoutePlanSearch.newInstance();
        mSearch.setOnGetRoutePlanResultListener(onGetRoutePlanResultListener);

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

        mSearch.walkingSearch((new WalkingRoutePlanOption())
                .from(stNode)
                .to(enNode));
    }

 OnGetRoutePlanResultListener onGetRoutePlanResultListener = new OnGetRoutePlanResultListener() {
        @Override
        public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) {
            //创建WalkingRouteOverlay实例
            if (walkingRouteResult.error == SearchResult.ERRORNO.NO_ERROR) {
                WalkingRouteOverlay overlay = new WalkingRouteOverlay(mBaiduMap);
                if (walkingRouteResult.getRouteLines() != null && walkingRouteResult.getRouteLines().size() > 0) {
                    //获取路径规划数据,(以返回的第一条数据为例)
                    //为WalkingRouteOverlay实例设置路径数据
                    overlay.setData(walkingRouteResult.getRouteLines().get(0));
                    //在地图上绘制WalkingRouteOverlay
                    overlay.addToMap();
                }
            }
        }

 	...
    };
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值