覆盖物图层
覆盖物图层是指可以管理覆盖物要素数据的图层
默认覆盖物图层
地图创建后,默认会生成一个覆盖物图层,此覆盖物图层会跟随地图实例进行销毁。
let layer = this.mapController.getOverlayLayer();
// 添加地图覆盖物this.mapController.addOverlay(overlay: Overlay);// 移除地图覆盖物this.mapController.removeOverlay(overlay: Overlay);// 按类别移除地图覆盖物this.mapController.removeOverlays(type?: SysEnum.OverlayType);
自定义覆盖物图层
用户通过API创建覆盖物图层,实现数据分类管理。
1.创建或移除图层
// 创建覆盖物图层let selfLayer = this.mapController.createOverlayLayer();// 移除覆盖物图层this.mapController.removeOverlayLayer(selfLayer);
2.添加或移除覆盖物
// 添加地图覆盖物selfLayer.addOverlay(overlay: Overlay);// 移除地图覆盖物selfLayer.removeOverlay(overlay: Overlay);// 按类别移除地图覆盖物selfLayer.removeOverlays(type?: SysEnum.OverlayType);
其他
1.获取所有覆盖物图层
let result = this.mapController.getLayerByTag(SysEnum.LayerTag.OVERLAY);if (result) {if (Array.isArray(result)) {// 包含默认覆盖物图层以及自定义覆盖物图层,索引为0的图层即为默认覆盖物图层。let layer = result as Array<OverlayLayer>;} else {// 只有一个默认覆盖物图层let layers = result as OverlayLayer;}}
2.监听所有图层覆盖物事件
this.mapController.addOverlayEventListener(SysEnum.EOverLayTypeName.MARKER,OverlayEvent.CLICK,(bundle: EventOverlayBundle) => {let overlays = bundle.target as Array<Overlay>;if (overlays && overlays.length > 0) {overlays.forEach(item => {if (item instanceof Marker) {promptAction.showToast({message: 'Marker被点击',duration: 2000,});}});}});
上一篇
下一篇
本篇文章对您是否有帮助?