传入一个mapserver的图层,该图层在发布时已经定义了图例!!!!!
前端代码👇👇👇👇👇
<!-- 图例列表-->
<div id="legend-wrapper">
<div id="legend-box"></div>
</div>
此处需要注意的时每次渲染不同mapserver生成图例需要清除上一次的图例,提前先removeChild再appendChild很实用!!!!
async createLegend(layer) {
let that = this;
if (layer) {
let Legend = await arcgisPackage.Legend;
let legendBox = document.getElementById("legend-box");
let legendWrapper = document.getElementById("legend-wrapper");
legendWrapper.removeChild(legendBox)
var elem=document.createElement('div');
elem.setAttribute('id','legend-box');
legendWrapper.appendChild(elem)
legendBox = document.getElementById("legend-box");
let legend = new Legend({
view: this.view,
layerInfos: [
{
layer: layer,
title: "图例",
},
],
container: legendBox,
});
that.view.ui.add(legend, "top-left");
legendWrapper.appendChild(legendBox);
console.log(legend,legendBox);
}
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。