基础:加载动态图层
方法:
  1. 添加一个button(添加动态图层),给button绑定on模块的点击事件
on(dom.byId("btn"),"click",function(e){})
  1. 定义数据源,设置命名空间,设置命名空间下面的shp

    var dataSource = new TableDataSource();
    dataSource.workspaceId = "demo";
    dataSource.dataSourceName = "demoShp.shp";
  1. 定义图层数据源,对其赋值
var layerSource = new LayerDataSource();
layerSource.dataSource = dataSource;
  1. 定义要素图层(动态图层)
var layer2 = new FeatureLayer
("http://localhost:6080/arcgis/rest/services/demo/Practice/MapServer/dynamicLayer", {
    mode: FeatureLayer.MODE_ONDEMAND,
    outFields: ["*"],
    source: layerSource
});
  1. 定义线符号,渲染器

    var lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 3);
    var renderer = new esri.renderer.SimpleRenderer(lineSymbol);
  1. 给要素图层设置渲染器

    layer2.setRenderer(renderer);
    layer2.refresh();
  1. 把要素图层添加到map上

    map.addLayer(layer2);
贴代码
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="https://js.arcgis.com/3.28/esri/css/esri.css"/>
    <link rel="stylesheet" href="https://js.arcgis.com/3.28/dijit/themes/tundra/tundra.css"/>
    <script  type="text/Javascript" src="https://js.arcgis.com/3.28/"></script>
    <script type="text/javascript">
        require(["esri/map",
            "dojo/dom",
            "dojo/on",
            "esri/layers/ArcGISDynamicMapServiceLayer",
            "esri/layers/FeatureLayer",
            "esri/layers/TableDataSource",
            "esri/layers/LayerDataSource",
            "esri/renderers/SimpleRenderer",
            "esri/symbols/SimpleLineSymbol",
            "dojo/domReady!"], function (
                Map,dom,on, ArcGISDynamicMapServiceLayer, FeatureLayer, TableDataSource, LayerDataSource, SimpleRenderer,SimpleLineSymbol) {
            var map = new Map("mapDiv");
            var layer1 = new ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/demo/Practice/MapServer");
            map.addLayer(layer1);

            on(dom.byId("btn"),"click",function(e){
                // 定义数据源,设置命名空间,设置命名空间下面的shp
                var dataSource = new TableDataSource();
                dataSource.workspaceId = "demo";
                dataSource.dataSourceName = "demoShp.shp";
                // 定义图层数据源,对其赋值
                var layerSource = new LayerDataSource();
                layerSource.dataSource = dataSource;
                //定义一个要素图层:动态图层
                var layer2 = new FeatureLayer("http://localhost:6080/arcgis/rest/services/demo/Practice/MapServer/dynamicLayer", {
                    mode: FeatureLayer.MODE_ONDEMAND,
                    outFields: ["*"],
                    source: layerSource
                });
                //定义线符号,渲染器
                var lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 3);
                var renderer = new esri.renderer.SimpleRenderer(lineSymbol);
                //给要素图层设置渲染器
                layer2.setRenderer(renderer);
                layer2.refresh();
                //把要素图层添加到map上
                map.addLayer(layer2);
            })

        });
    </script>
</head>

<body>
<div id="mapDiv" style="height:600px;"></div>
<button id="btn">添加动态图层</button>
</body>
</html>