[ArcGIS API for JavaScript 4.8] Sample Code-Get Started-layers简介

匿名 (未验证) 提交于 2019-12-02 20:37:20


 

 1 <!doctype html>  2 <html>  3     <head>  4         <meta charset="utf-8">  5         <!-- 移动端优化 -->  6         <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">  7         <title>Into to layers</title>  8           9         <!-- JS API的引入 --> 10         <link rel="stylesheet" href="https://js.arcgis.com/4.8/esri/css/main.css"> 11         <script src="https://js.arcgis.com/4.8/"></script> 12          13         <script> 14              15         </script> 16          17         <!-- 设置样式,正确显示地图 --> 18         <style> 19             html,body,#viewDiv{ 20                 padding:0; 21                 margin:0; 22                 height:100%; 23                 width:100%; 24             } 25         </style> 26     </head> 27      28     <body> 29         <div id="viewDiv"></div> 30     </body> 31 </html>

 

 1 <script>  2     require([  3         "esri/Map",  4         "esri/views/SceneView",  5         "dojo/domReady!"  6         ],function(Map,SceneView){  7             // 创建地图  8             var map=new Map({  9                 basemap:"oceans" 10             }); 11                      12             // 创建SceneView 13             var view=new SceneView({ 14                 container:"viewDiv", 15                 map:map 16             }); 17 }); 18</script>

 

 

 1 <script>  2     require([  3          "esri/Map",  4          "esri/views/SceneView",  5          "esri/layers/TileLayer",  // 需要新添加的模块  6          "dojo/domReady!"  7          ],function(Map,SceneView,TileLayer){  // 注意这里也需要添加对应的类  8              // 创建地图  9              var map=new Map({ 10                  basemap:"oceans" 11              }); 12                      13              // 创建SceneView 14              var view=new SceneView({ 15                  container:"viewDiv", 16                  map:map 17              }); 18                      19              var transportationLayer=new TileLayer({ 20                  url:"https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Transportation/MapServer", 21                  id:"streets",  // 设置其他一些属性 22                  opacity:0.7 23              }); 24                      25              var housingLayer=new TileLayer({ 26                  url:"https://tiles.arcgis.com/tiles/nGt4QxSblgDfeJn9/arcgis/rest/services/New_York_Housing_Density/MapServer", 27                  id:"ny-housing" 28              }); 29 }); 30</script>

 

 

1 var map=new Map({ 2     basemap:"oceans", 3     layers:[housingLayer]  // 设置的属性 4 });

1 map.layers.add(housingLayer); 2 map.layers.add(transportationLayer);

 

1 <body> 2     <div id="viewDiv"> 3         <span id="layerToggle"> 4              <input type="checkbox" id="streetsLayer" checked>Transportation 5         </span> 6     </div> 7</body>

 1 <script>  2     require([  3         "esri/Map",  4         "esri/views/SceneView",  5         "esri/layers/TileLayer",  // 需要新添加的模块  6         "dojo/dom",  // 用于获取HTML DOM元素  7         "dojo/on",  // 用于监听HTML DOM元素上的事件  8         "dojo/domReady!"  9         ],function(Map,SceneView,TileLayer,dom,on){  // 注意这里也需要添加对应的类 10             // 创建地图 11             var map=new Map({ 12                 basemap:"oceans", 13             }); 14                      15             // 创建SceneView 16             var view=new SceneView({ 17                 container:"viewDiv", 18                 map:map 19             }); 20                      21             var transportationLayer=new TileLayer({ 22                 url:"https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Transportation/MapServer", 23                 id:"streets",  // 设置其他一些属性 24                 opacity:0.7 25             }); 26                      27             var housingLayer=new TileLayer({ 28                 url:"https://tiles.arcgis.com/tiles/nGt4QxSblgDfeJn9/arcgis/rest/services/New_York_Housing_Density/MapServer", 29                 id:"ny-housing", 30                          31            }); 32                      33            map.layers.add(housingLayer); 34            map.layers.add(transportationLayer); 35                      36            // 获取checkbox元素,通过dom.byId()方法 37            var streetsLayerToggle=dom.byId("streetsLayer"); 38                      39            // 监听checkbox的change事件 40            on(streetsLayerToggle,"change",function(){ 41                // 当checkbox为true时,图层的visible也为true 42                transportationLayer.visible=streetsLayerToggle.checked; 43            }); 44 }); 45</script>

 

 1 // 图层加载完成时将生成LayerView  2 // 将触发View的"layerview-create"事件  3 view.on("layerview-create",function(event){  4     if(event.layer.id==="ny-housing"){  5         // 加载的是housingLayer  6         console.log("LayerView for New York housing density created!",event.layerView);  7     };  8     if(event.layer.id==="streets"){  9         // 加载的是transportationLayer 10         console.log("LayerView for streets created!",event.layerView); 11     }; 12 });

 

1 // 当housing layer加载完成后,缩放到这个图层的fullExtent 2 housingLayer.when(function(){ 3     view.goTo(housingLayer.fullExtent); 4 });

 

 1 <!doctype html>  2 <html>  3     <head>  4         <meta charset="utf-8">  5         <!-- 移动端优化 -->  6         <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">  7         <title>Into to layers</title>  8           9         <!-- JS API的引入 --> 10         <link rel="stylesheet" href="https://js.arcgis.com/4.8/esri/css/main.css"> 11         <script src="https://js.arcgis.com/4.8/"></script> 12          13         <script> 14             require([ 15                 "esri/Map", 16                 "esri/views/SceneView", 17                 "esri/layers/TileLayer",  // 需要新添加的模块 18                 "dojo/dom",  // 用于获取HTML DOM元素 19                 "dojo/on",  // 用于监听HTML DOM元素上的事件 20                 "dojo/domReady!" 21                 ],function(Map,SceneView,TileLayer,dom,on){  // 注意这里也需要添加对应的类 22                     // 创建地图 23                     var map=new Map({ 24                         basemap:"oceans", 25                     }); 26                      27                     // 创建SceneView 28                     var view=new SceneView({ 29                         container:"viewDiv", 30                         map:map 31                     }); 32                      33                     var transportationLayer=new TileLayer({ 34                         url:"https://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Transportation/MapServer", 35                         id:"streets",  // 设置其他一些属性 36                         opacity:0.7 37                     }); 38                      39                     var housingLayer=new TileLayer({ 40                         url:"https://tiles.arcgis.com/tiles/nGt4QxSblgDfeJn9/arcgis/rest/services/New_York_Housing_Density/MapServer", 41                         id:"ny-housing", 42                          43                     }); 44                      45                     map.layers.add(housingLayer); 46                     map.layers.add(transportationLayer); 47                      48                     // 获取checkbox元素,通过dom.byId()方法 49                     var streetsLayerToggle=dom.byId("streetsLayer"); 50                      51                     // 监听checkbox的change事件 52                     on(streetsLayerToggle,"change",function(){ 53                         // 当checkbox为true时,图层的visible也为true 54                         transportationLayer.visible=streetsLayerToggle.checked; 55                     }); 56                      57                     // 图层加载完成后将生成LayerView 58                     // 将触发View的"layerview-create"事件 59                     view.on("layerview-create",function(event){ 60                         if(event.layer.id==="ny-housing"){ 61                             // 加载的是housingLayer 62                             console.log("LayerView for New York housing density created!",event.layerView); 63                         }; 64                         if(event.layer.id==="streets"){ 65                             // 加载的是transportationLayer 66                             console.log("LayerView for streets created!",event.layerView); 67                         }; 68                     }); 69                      70                     // 当housing layer加载完成后,缩放到这个图层的fullExtent 71                     housingLayer.when(function(){ 72                         view.goTo(housingLayer.fullExtent); 73                     }); 74             }); 75         </script> 76          77         <!-- 设置样式,正确显示地图 --> 78         <style> 79             html,body,#viewDiv{ 80                 padding:0; 81                 margin:0; 82                 height:100%; 83                 width:100%; 84             } 85         </style> 86     </head> 87      88     <body> 89         <div id="viewDiv"> 90             <span id="layerToggle"> 91                 <input type="checkbox" id="streetsLayer" checked>Transportation 92             </span> 93         </div> 94     </body> 95 </html>

 

原文:https://www.cnblogs.com/wangmengdx/p/9385978.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!