产品服务
解决方案
文档与支持
定价

覆盖物图层

下载开发文档

覆盖物图层是指可以管理覆盖物要素数据的图层

默认覆盖物图层

地图创建后,默认会生成一个覆盖物图层,此覆盖物图层会跟随地图实例进行销毁。

获取默认覆盖物图层
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,
});
}
});
}
}
);

上一篇

位置短地址分享

下一篇

请求状态码说明

本篇文章对您是否有帮助?