浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
方法交互
下载开发文档

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

改变地图缩放等级

根据场景的不同可以分别通过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);

是否显示底图标注的对比如图:

开启标注关闭标注
地图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);
开启路况关闭路况

上一篇

事件交互

下一篇

元素压盖顺序

本篇文章对您是否有帮助?