无法使图例适用于我的graphicsLayer()

问题描述 投票:0回答:1

我已经成功添加了一个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);
    }
}
javascript arcgis arcgis-js-api
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.