本章节将对地图监听事件做介绍,地图事件监听(地图状态改变、各种手势、截屏)等。
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();}
上一篇
下一篇
本篇文章对您是否有帮助?