浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
更新时间:2020年06月23日

本章节将对地图监听事件做介绍,地图事件监听(地图状态改变、各种手势、截屏)等。

地图事件监听

SDK定义了各种地图相关事件的监听,提供相应的事件监听方法,包括地图状态的改变、手势事件、地图渲染、地图截屏事件等。如下所示:

设置地图加载完成回调:

/// 地图加载回调
myMapController?.setMapDidLoadCallback(callback: () {

});

设置地图渲染完成回调:

/// 地图渲染完成回调
myMapController?.setMapDidFinishedRenderCallback(callback: (bool success) {
 
});

设置地图渲染每一帧画面过程中,以及每次需要重绘地图时(例如添加覆盖物)回调接口:

/// 地图渲染每一帧画面过程中,以及每次需要重绘地图时(例如添加覆盖物)都会调用此接口
myMapController?.setMapOnDrawMapFrameCallback(callback: (BMFMapStatus mapStatus) {

});

设置地图区域即将改变时会调用此接口:

/// 地图区域即将改变时会调用此接口
/// mapStatus 地图状态信息
myMapController?.setMapRegionWillChangeCallback(callback: (BMFMapStatus mapStatus) {

});

设置地图区域改变完成后会调用接口:

/// 地图区域改变完成后会调用此接口
/// mapStatus 地图状态信息
myMapController?.setMapRegionDidChangeCallback(
    callback: (BMFMapStatus mapStatus) {

});

设置地图区域即将改变时会调用接口,带有reason返回值:

/// 地图区域即将改变时会调用此接口
/// mapStatus 地图状态信息
/// regionChangeReason 地图改变原因
myMapController?.setMapRegionWillChangeWithReasonCallback(callback:
    (BMFMapStatus mapStatus, BMFRegionChangeReason regionChangeReason) {
  
});

设置地图区域改变完成后会调用接口,带有reason返回值:

/// 地图区域改变完成后会调用此接口
/// mapStatus 地图状态信息
/// regionChangeReason 地图改变原因
myMapController?.setMapRegionDidChangeWithReasonCallback(callback:
    (BMFMapStatus mapStatus, BMFRegionChangeReason regionChangeReason) {
  
});

设置点击底图空白处会回调接口:

/// 点中底图空白处会回调此接口
/// coordinate 经纬度
myMapController?.setMapOnClickedMapBlankCallback( callback: (BMFCoordinate coordinate) {

});

设置点中底图标注后会回调接口:

 /// 点中底图标注后会回调此接口
myMapController?.setMapOnClickedMapPoiCallback(
        callback: (BMFMapPoi mapPoi) {

});

双击地图时会回调此接口:

/// 双击地图时会回调此接口
/// coordinate 经纬度
myMapController?.setMapOnDoubleClickCallback(callback: (BMFCoordinate coordinate) {

});

设置长按地图时会回调接口:

/// 长按地图时会回调此接口
myMapController?.setMapOnLongClickCallback(callback: (BMFCoordinate coordinate) {

});

3DTouch 点击地图时会回调此接口:
注:目前ios支持,Android不支持

/// 3DTouch 按地图时会回调此接口
///(仅在支持3D Touch,且fouchTouchEnabled属性为true时,会回调此接口)
/// coordinate 触摸点的经纬度
/// force 触摸该点的力度(参考UITouch的force属性)
/// maximumPossibleForce 当前输入机制下的最大可能力度(参考UITouch的maximumPossibleForce属性)
myMapController?.setMapOnForceTouchCallback(callback:(BMFCoordinate coordinate, double force, double maximumPossibleForce) {

});

设置地图状态改变完成后回调接口:

/// 设置地图状态改变完成后回调接口
myMapController?.setMapStatusDidChangedCallback(callback: () {

});

设置地图View进入/移出室内地图回调接口:

/// 地图View进入/移出室内图会调用此方法
/// flag YES:进入室内图,false:移出室内图
/// baseIndoorMapInfo 室内图信息
myMapController?.setMapInOrOutBaseIndoorMapCallback(
    callback: (bool flag, BMFBaseIndoorMapInfo baseIndoorMapInfo) {

});
地图截屏

地图截屏接口:

void takeSnapshort() async {
  Uint8List image = await myMapController?.takeSnapshot();
}

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消