浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WebAPI文档全面上新

新增示例代码、在线运行等功能,帮助您实现快速接入,前往体验吧!

体验新版
更新时间:2023-01-16

本章节将对各种地图交互方法的设置做介绍,包括改变地图缩放等级、设置地图操作区域和屏幕的边的距离,设置地图显示范围、改变地图类型和控件显示状态、改变地图手势对的中心点、隐藏地图标注等。

改变地图缩放等级

根据场景的不同可以分别通过MapStatusUpdateFactory类的zoomTo、zoomIn、zoomOut以及zoomBy四种方法改变地图缩放级别。示例如下:

//直接缩放至缩放级别16
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo(16));
//使缩放级别增大一级
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomIn());
//使缩放级别减小一级
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomOut());
//在当前的缩放级别上增加或减小具体的缩放级别
// 4 在当前的缩放级别上增加4
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomBy(4));
// -4 在当前的缩放级别上减小4
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomBy(-4));

此外,上述示例代码中setMapStatus()方法是以直接跳变的效果改变地图缩放级别,开发者可以使用animateMapStatus()方法实现地图缩放级别改变的渐变动画效果。
注意:当设置的地图缩放级别超出SDK支持的最大或最小级别时对应以最大或最小缩放级别显示。

设置地图操作区距屏幕的距离

支持利用setViewPadding方法围绕地图边缘添加屏幕内边距。地图将保持原来的布局,但地图logo、比例尺、指南针以及缩放按钮等控件将调整到改变后的操作区域内显示。可以参考UISettingDemo。

适用于不希望操作控件被UI遮挡的情况。示例如下:

mBaiduMap.setViewPadding(int left,int top, int right, int bottom);

setViewPadding方法在地图加载完成后生效,可以通过OnMapLoadedCallback.onMapLoaded()回调接口来监听是否加载完成。
注意:根据百度地图API使用条款您的应用不得删除或覆盖百度地图logo或版权声明。地图内边距允许您在必要时重新定位这些元素,若您需要在地图布局顶底部显示自定义UI,请设置内边距以保证百度地图logo和版权声明始终可见。

设置地图显示范围

可以通过如下两种方法来设置地图显示范围。
方法一

// bounds 设置显示在屏幕中的地图地理范围
mBaiduMap.setMapStatus(MapStatusUpdateFactory.newLatLngBounds(bounds));

其中LatLngBounds对象通过LatLngBounds.Builder()类使用西南和东北坐标点构造。
方法二

// bounds 设置显示在屏幕中的地图地理范围
mBaiduMap.setMapStatus(MapStatusUpdateFactory. newLatLngBounds(bounds),width, height);
改变地图手势的中心点(地图的中心点)

地图手势旋转等操作是以地图中心点为标准做旋转的,通过如下方法设置地图中心点。

设置方法为:

mBaiduMap.setMapStatus(MapStatusUpdateFactory.newLatLng(LatLng latLng));
隐藏底图标注(控制地图POI显示)

根据使用需要,支持设置地图poi是否显示。

showMapPoi方法

在BaiduMap提供了控制底图标注的showMapPoi方法,默认显示底图标注。利用此属性可得到仅显示道路信息的地图,方法如下:

//隐藏地图标注,只显示道路信息
//默认显示地图标注
mBaiduMap.showMapPoi(false);
是否显示底图标注的对比如图:

Screenshot_20200609_172350_baidumapsdk.demo.jpg

Screenshot_20200609_172353_baidumapsdk.demo.jpg

地图POI标签控制

百度地图SDK支持根据标签类型控制地图上POI标签的是否显示,用户可以通过mBaiduMap的setPoiTagEnable接口来实现,默认全部显示。同时通过mBaiduMap的getPoiTagEnable接口来判断标签是否展示 相关接口 Java代码

// 用于控制poi标签显示的类别枚举
public enum 
PoiTagStyle {
        All,                 //显示poi标签 / 屏蔽所有poi标签
        Epidemic,            //疫情标签
        Travel,              //旅游出行标签
        Shop;                //店铺标签
}
  
/**
  * 是否展示底图poi标签
  * @param poiTagType 标签类别
  * @param isEnabled  是否展示
*/
  
public void setPoiTagEnable(PoiTagType poiTagType, boolean isEnabled)
  
/**
* 是否展示底图poi标签
* @param poiTagType 标签类别
* @return
*/
public boolean getPoiTagEnable(PoiTagType poiTagType)

使用方法 Java代码

//获取地图后,屏蔽地图上的所有poi标签
mBaiduMap.setPoiTagEnable(PoiTagType.All,false);

showAnirodpng.jpg

showAnirdpng1.jpg

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消