地图Logo
默认在左下角显示,不可以移除。
通过以下方法,使用枚举类型控制显示的位置,共支持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);}
上一篇
下一篇
本篇文章对您是否有帮助?