/**
|
* 功能描述:图例
|
* 开发公司:广东蓝图
|
* 开发人员:蔡工
|
* 开发时间:2019-07-25 ~ 2019-09
|
*/
|
|
define([
|
"dojo/_base/declare",
|
"esri/dijit/Legend"
|
], function(declare, Legend) {
|
var clazz, legend;
|
clazz = declare("Legend", null, {
|
constructor: function () {
|
},
|
show: function() {
|
if (!legend) {
|
legend = new Legend({
|
map: map,
|
layerInfos: []
|
}, "legendDiv");
|
legend.startup();
|
}
|
//legend.layerInfos = layerInfo;
|
//如果连续勾选多个图层,遍历map下的layers,排除basemap
|
legend.layerInfos = []; //先清空Legend图层
|
var layersIds = map.layerIds;
|
if (layersIds) {
|
for (var i = 0; i < layersIds.length; i++) {
|
var layerId = layersIds[i];
|
if (layerId.indexOf("basemap") > -1 || layerId.indexOf("nolegend") > -1) {
|
continue;
|
}
|
var layer = map.getLayer(layerId);
|
if (layer._basemapGalleryLayerType != undefined) {
|
if (layer._basemapGalleryLayerType == "basemap") {
|
continue;
|
}
|
}
|
legend.layerInfos.push({
|
layer: layer,
|
title: " ",
|
id: ""
|
});
|
}
|
}
|
var graphicsLayerIds = map.graphicsLayerIds;
|
if (graphicsLayerIds) {
|
for (var i = 0; i < graphicsLayerIds.length; i++) {
|
var layerId = graphicsLayerIds[i];
|
if (layerId.indexOf("basemap") > -1 || layerId.indexOf("nolegend") > -1) {
|
continue;
|
}
|
var layer = map.getLayer(layerId);
|
if (layer._basemapGalleryLayerType != undefined) {
|
if (layer._basemapGalleryLayerType == "basemap") {
|
continue;
|
}
|
}
|
if (layerId == "jjtjt_TC") {
|
legend.layerInfos.push({
|
layer: layer,
|
title: "涉海企业分布",
|
id: ""
|
});
|
}
|
}
|
}
|
//刷新图例
|
legend.refresh();
|
}
|
});
|
clazz.getInstance = function() {
|
if (instance === null) {
|
instance = new clazz();
|
}
|
return instance;
|
};
|
return clazz;
|
});
|