加载---加载动态图层+注册文件夹

基础:加载动态图层
方法:
  1. 添加一个button(添加动态图层),给button绑定on模块的点击事件

    on(dom.byId("btn"),"click",function(e){})
    
  2. 定义数据源,设置命名空间,设置命名空间下面的shp

    var dataSource = new TableDataSource();
    dataSource.workspaceId = "demo";
    dataSource.dataSourceName = "demoShp.shp";
    
  3. 定义图层数据源,对其赋值

    var layerSource = new LayerDataSource();
    layerSource.dataSource = dataSource;
    
  4. 定义要素图层(动态图层)

    var layer2 = new FeatureLayer
    ("http://localhost:6080/arcgis/rest/services/demo/Practice/MapServer/dynamicLayer", {
    	mode: FeatureLayer.MODE_ONDEMAND,
    	outFields: ["*"],
    	source: layerSource
    });
    
  5. 定义线符号,渲染器

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

    layer2.setRenderer(renderer);
    layer2.refresh();
    
  7. 把要素图层添加到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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值