From d74b495736f0c04522ec54274b70fed0ded2878d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 11:30:06 +0800
Subject: [PATCH] 任务新增导出
---
public/map/core/utils/RendererUtil.js | 183 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 183 insertions(+), 0 deletions(-)
diff --git a/public/map/core/utils/RendererUtil.js b/public/map/core/utils/RendererUtil.js
new file mode 100644
index 0000000..7becc5f
--- /dev/null
+++ b/public/map/core/utils/RendererUtil.js
@@ -0,0 +1,183 @@
+define([
+"esri/symbols/SimpleFillSymbol",
+"esri/Color",
+"esri/renderers/SimpleRenderer",
+"esri/symbols/SimpleMarkerSymbol",
+"esri/symbols/SimpleLineSymbol",
+"esri/symbols/PictureMarkerSymbol"
+ ],
+ function(SimpleFillSymbol,
+ Color,
+ SimpleRenderer,
+ SimpleMarkerSymbol,
+ SimpleLineSymbol,
+ PictureMarkerSymbol){
+ var privateValue = 0;
+ return {
+ createRenderer:function(rendererConfig){
+ var renderer = null;
+ if(rendererConfig != undefined && rendererConfig != null && rendererConfig != "default")
+ {
+ switch(rendererConfig.type)
+ {
+ case "SimpleRenderer":
+ var symbol = this.createSymbol(rendererConfig.symbol);
+ renderer = new SimpleRenderer(symbol);
+ break;
+ }
+ }
+ return renderer;
+ },
+ createSymbol:function(symbolConfig)
+ {
+ var symbol = null;
+ switch(symbolConfig.type)
+ {
+ case "SimpleMarkerSymbol":
+ symbol = this.createSimpleMarkerSymbol(symbolConfig);
+ break;
+ case "PictureMarkerSymbol":
+ symbol = this.createPictureMarkerSymbol(symbolConfig);
+ break;
+ case "SimpleLineSymbol":
+ symbol = this.createLineSymbol(symbolConfig);
+ break;
+ case "SimpleFillSymbol":
+ symbol = this.creatFillSymbol(symbolConfig);
+ break;
+ }
+ return symbol;
+ },
+ creatFillSymbol:function(symbolConfig)
+ {
+ var style;
+ var symbol=null;
+ var lineSymbol = this.createLineSymbol(symbolConfig.outline);
+ switch(symbolConfig.style)
+ {
+ case "solid":
+ style = SimpleFillSymbol.STYLE_SOLID;
+ break;
+ case "null":
+ style = SimpleFillSymbol.STYLE_NULL;
+ break;
+ case "cross":
+ style = SimpleFillSymbol.STYLE_CROSS;
+ break;
+ case "diagonal_cross":
+ style = SimpleFillSymbol.STYLE_DIAGONAL_CROSS;
+ break;
+ case "backward_diagonal":
+ style = SimpleFillSymbol.STYLE_BACKWARD_DIAGONAL;
+ break;
+ case "forward_diagonal":
+ style = SimpleFillSymbol.STYLE_FORWARD_DIAGONAL;
+ break;
+ case "horizontal":
+ style = SimpleFillSymbol.STYLE_HORIZONTAL;
+ break;
+ case "vertical":
+ style = SimpleFillSymbol.STYLE_VERTICAL;
+ break;
+ }
+ var color = new Color(symbolConfig.color);
+ color.a=symbolConfig.alpha;
+ symbol = new SimpleFillSymbol(style, lineSymbol,color);
+ return symbol;
+ },
+ createSimpleMarkerSymbol:function(symbolConfig)
+ {
+ var style;
+ var symbol = null;
+ var lineSymbol = this.createLineSymbol(symbolConfig.outline);
+ switch(symbolConfig.style)
+ {
+ case "circle":
+ style = SimpleMarkerSymbol.STYLE_CIRCLE;
+ break;
+ case "cross":
+ style = SimpleMarkerSymbol.STYLE_CROSS;
+ break;
+ case "diamond":
+ style = SimpleMarkerSymbol.STYLE_DIAMOND;
+ break;
+ case "path":
+ style = SimpleMarkerSymbol.STYLE_PATH;
+ break;
+ case "square":
+ style = SimpleMarkerSymbol.STYLE_SQUARE;
+ break;
+ case "STYLE_X":
+ style = SimpleMarkerSymbol.STYLE_X;
+ break;
+ default:
+ style = SimpleMarkerSymbol.STYLE_CIRCLE;
+ break;
+ }
+ symbol = new SimpleMarkerSymbol(style,symbolConfig.size,lineSymbol,new Color(symbolConfig.color));
+ return symbol;
+ },
+ createLineSymbol:function(config)
+ {
+ var symbol=null;
+ if(config != undefined && config != null)
+ {
+ switch(config.type)
+ {
+ case "SimpleLineSymbol":
+ var style = this.parseLineStyle(config.style);
+ symbol = new SimpleLineSymbol(style,
+ new Color(config.color),
+ config.width);
+ break;
+ }
+ }
+ return symbol;
+ },
+ parseLineStyle:function(style)
+ {
+ var returnStyle;
+ switch(style)
+ {
+ case "solid":
+ returnStyle = SimpleLineSymbol.STYLE_SOLID;
+ break;
+ case "dashdot":
+ returnStyle = SimpleLineSymbol.STYLE_DASHDOT;
+ break;
+ case "dashdotdot":
+ returnStyle = SimpleLineSymbol.STYLE_DASHDOT;
+ break;
+ case "dot":
+ returnStyle = SimpleLineSymbol.STYLE_DOT;
+ break;
+ case "longdash":
+ returnStyle = SimpleLineSymbol.STYLE_LONGDASH;
+ break;
+ case "longdashdot":
+ returnStyle = SimpleLineSymbol.STYLE_LONGDASHDOT;
+ break;
+ case "null":
+ returnStyle = SimpleLineSymbol.STYLE_NULL;
+ break;
+ case "shortdash":
+ returnStyle = SimpleLineSymbol.STYLE_SHORTDASH;
+ break;
+ case "shortdashdot":
+ returnStyle = SimpleLineSymbol.STYLE_SHORTDASHDOT;
+ break;
+ default:
+ returnStyle = SimpleLineSymbol.STYLE_SOLID;
+ break;
+ }
+ return returnStyle;
+ },
+ createPictureMarkerSymbol:function(config)
+ {
+ var symbol = new PictureMarkerSymbol(config.url, config.width, config.height);
+ symbol.xoffset=config.xoffset;
+ symbol.yoffset=config.yoffset;
+ return symbol;
+ }
+ };
+});
--
Gitblit v1.9.3