浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
 
第82行: 第82行:
 
<pre class="prettyprint codestyle">//是否双击放大当前地图中心点 默认:false 即按照双击位置放大地图
 
<pre class="prettyprint codestyle">//是否双击放大当前地图中心点 默认:false 即按照双击位置放大地图
 
  mUiSettings.setEnlargeCenterWithDoubleClickEnable(enable);
 
  mUiSettings.setEnlargeCenterWithDoubleClickEnable(enable);
 +
</pre>
 +
<div class="bluetitle"><div class="services-title-text service-page-anchor">手势回调</div></div>
 +
<div class="serve-explain-text">
 +
Android地图SDK自7.5.2起支持手势事件回调,开发者可以根据回调信息判断当前手势事件与地图状态变化的关系,还可以决定手势事件消费时机。回调接口如下:
 +
</div>
 +
<pre class="prettyprint codestyle" style="margin-left:20px;">/**
 +
* 地图手势事件回调接口
 +
*/
 +
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);
 +
 
 +
}
 
</pre>
 
</pre>

2022年6月10日 (五) 20:04的最后版本

更新时间:2020-06-23
地图控件

地图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(enabled);

比例尺

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

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

同时支持设置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);
   
}
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消