我已经成功添加了一个graphicsLayer。当我想查看添加的图层的图例时,我无法添加它,我得到“无图例”。
这里是我添加图形层的函数,请帮助我或解释当我尝试向 div id ="legendDivD" 添加图例时出现什么问题
async function conversionFunction() {
try {
for (i = 0; i < obj.length; i++) {
var lati = obj[i].Latitude;
var longi = obj[i].Longitude;
var schoolCode = obj[i].Departmentcode;
var pointxy = await xyConversion(longi, lati);
var newData = {
Latitude: pointxy.pnt_lat,
Longitude: pointxy.pnt_lon,
schoolCode: schoolCode
}
dataArr.push(newData)
}
console.log(dataArr)
schLayer = new GraphicsLayer({ id: 'SchoolsLayer' }); // Create a single GraphicsLayer
for (var i = 0; i < dataArr.length; i++) {
var tmplteJson = { title: "Details", content: `Department code : ${dataArr[i].schoolCode} ` };
var attributes = {}
var poly_point1 = new esri.geometry.Point([dataArr[i].Longitude, dataArr[i].Latitude], new esri.SpatialReference({ wkid: 4326 }));
var pointgraphic = new Graphic(poly_point1, dataArr[i].schoolCode.length == 11 ? markerPresSymbol : markerPropSymbol);
pointgraphic.setInfoTemplate(new InfoTemplate(tmplteJson));
schLayer.add(pointgraphic);
}
var legend = new Legend({
map: map,
//autoUpdate: true,
layerInfos: [{ layer: schLayer, title: "" }]
}, "legendDivD");
map.addLayer(schLayer);
legend.startup();
$("#loading1").css('display', 'none');
} catch (error) {
console.error(error);
}
}
Legend 小部件不支持 GraphicsLayer。它在 https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Legend.html
上被列为“已知限制”您正在使用的旧版本 (3.x) 也是如此 -- https://developers.arcgis.com/javascript/3/jsapi/legend-amd.html