全部服务产品
开发者频道
定价
登录
控件和手势
下载开发文档
地图控件

默认在左下角显示,不可以移除。
通过以下方法,使用枚举类型控制显示的位置,共支持6个显示位置(左下,中下,右下,左上,中上,右上)。

mMapView.setLogoPosition(LogoPosition.logoPostionleftBottom);

地图Logo不允许遮挡,可通过以下方法可以设置地图边界区域,来避免UI遮挡。

mBaiduMap.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);

其中参数paddingLeft、paddingTop、paddingRight、paddingBottom参数表示距离屏幕边框的左、上、右、下边距的距离,单位为屏幕坐标的像素密度。

指南针

指南针默认为开启状态,可以关闭显示 。设置方法如下:

//实例化UiSettings类对象
mUiSettings = mBaiduMap.getUiSettings();
//通过设置enable为true或false 选择是否显示指南针
mUiSettings.setCompassEnabled(enable);

比例尺

比例尺默认为开启状态,可以关闭显示。设置方法如下:

//通过设置enable为true或false 选择是否显示比例尺
mMapView.showScaleControl(enable)

同时支持设置maxZoomLevel和minZoomLevel,方法为:

mBaiduMap.setMaxAndMinZoomLevel(float max, float min);

另外,可通过mMapView.getMapLevel获取当前地图级别下比例尺所表示的距离大小。

缩放按钮

通过如下方式控制缩放按钮是否显示:

//通过设置enable为true或false 选择是否显示缩放按钮
mMapView.showZoomControls(enable)
地图手势

地图平移

控制是否启用或禁用平移的功能,默认开启。如果启用,则用户可以平移地图。
设置方式为:

//通过设置enable为true或false 选择是否启用地图平移
mUisettings.setScrollGesturesEnabled(enable);

地图缩放

控制是否启用或禁用缩放手势,默认开启。如果启用,用户可以双指点击或缩放地图视图。
设置方式为:

//通过设置enable为true或false 选择是否启用地图缩放手势
mUisettings.setZoomGesturesEnabled(enable);

地图俯视(3D)

控制是否启用或禁用俯视(3D)功能,默认开启。如果启用,则用户可使用双指 向下或向上滑动到俯视图。
设置方式为:

//通过设置enable为true或false 选择是否启用地图俯视功能
mUisettings.setOverlookingGesturesEnabled(enable);

地图旋转

控制是否启用或禁用地图旋转功能,默认开启。如果启用,则用户可使用双指 旋转来旋转地图。
设置方式为:

//通过设置enable为true或false 选择是否启用地图旋转功能
mUisettings.setRotateGesturesEnabled(enable);

禁止所有手势

控制是否一并禁止所有手势,默认关闭。如果启用,所有手势都将被禁用。
设置方式为:

//通过设置enable为true或false 选择是否禁用所有手势
mUisettings.setAllGesturesEnabled(enable);

双击地图是否按中心点放大

控制是否设置双击地图按照当前地图中心点放大。
设置方式为:

//是否双击放大当前地图中心点 默认:false 即按照双击位置放大地图
mUiSettings.setEnlargeCenterWithDoubleClickEnable(enable);
手势回调

Android地图SDK自7.5.2起支持手势事件回调,开发者可以根据回调信息判断当前手势事件与地图状态变化的关系,还可以决定手势事件消费时机。回调接口如下:

/**
* 地图手势事件回调接口
*/
public interface onMapGestureListener {
/**
* 平移
* @param start 平移手势开始屏幕坐标点
* @param end 平移手势结束屏幕坐标点
* @param curStatus 当前地图状态
* @return 该手势事件是否由SDK消费
*/
boolean onMapScroll(Point start, Point end, MapStatus curStatus);
/**
* 双击放大
* @param point 屏幕坐标点
* @param curStatus 当前地图状态
* @return 该手势事件是否由SDK消费
*/
boolean onMapDoubleTouch(Point point, MapStatus curStatus);
/**
* 双指点击缩小
* @param p1 第一个屏幕坐标点
* @param p2 第二个屏幕坐标点
* @param curStatus 当前地图状态
* @return 该手势事件是否由SDK消费
*/
boolean onMapTwoClick(Point p1,Point p2, MapStatus curStatus);
/**
* 捏合
* @param p1
* @param p2
* @param curStatus
* @return 该手势事件是否由SDK消费
*/
boolean onMapKneading(Point p1, Point p2, MapStatus curStatus);
/**
* 俯视
* @param p1
* @param p2
* @param curStatus
* @return 该手势事件是否由SDK消费
*/
boolean onMapOverLooking(Point p1, Point p2, MapStatus curStatus);
/**
* 惯性抛出手势
* @param event
* @param velocityX
* @param velocityY
* @param curStatus
* @return 该手势事件是否由SDK消费
*/
boolean onMapFling(MotionEvent event, float velocityX, float velocityY, MapStatus curStatus);
/**
* 手势事件结束后地图状态
* @param status 当前地图状态
*/
void onMapStatusChangeFinish(MapStatus status);
}

上一篇

自定义地图加载背景网格

下一篇

事件交互

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