概述:Arcgis for Javasctipt中常见的layer有动态图层(ArcGISDynamicMapServiceLayer
)、切片图层(ArcGISTiledMapServiceLayer)、特征图层(FeatureLayer)、图象图层(GraphicsLayer)、标注图层(LabelLayer)、wms图层(WMSLayer)和切片wms图层(WMTSLayer)等几种。本文结合SVG技术,详细介绍Arcgis for Javasctipt中常见的layer。
1、Arcgis for Javasctipt中常见的layer简介
1.1 ArcGISDynamicMapServiceLayer
ArcGISDynamicMapServiceLayer为动态地图服务图层,可以理解为一个mxd的所有内容。
var dynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSFields/MapServer");
map.addLayer(dynamicMapServiceLayer);
1.2 ArcGISTiledMapServiceLayer
ArcGISTiledMapServiceLayer为切片地图服务图层,是将一个MXD根据不同的级别切成不同的图片。
var tiledMapServiceLayer = new ArcGISTiledMapServiceLayer( "http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer");
map.addLayer(tiledMapServiceLayer);
1.3 FeatureLayer
FeatureLayer为特征图层,可以理解为mxd中的图层,通过FeatureLayer可以修改图层的空间信息与属性信息。
var featureLayer = new FeatureLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Petroleum/KGS_OilGasFields_Kansas/MapServer/0",{ mode: FeatureLayer.MODE_ONDEMAND, infoTemplate: infoTemplate, outFields: ["*"] });
map.addLayer(featureLayer);
1.4 GraphicsLayer
GraphicsLayer为图象图层,是一个客户端展示的图层,可以将客户端绘制的图形、标记、文字等通过graphic的方式展示。
var graphicsLayer = new GraphicsLayer();
map.addLayer(graphicsLayer);
1.5 LabelLayer
LabelLayer是一个标注图层,可以展示FeatureLayer或者GraphicsLayer图形中根据特定的字段、特定的形式标注出来展现给客户。
var symbol = new TextSymbol(); var renderer = new SimpleRenderer(symbol); var labelLayer = new LabelLayer(); labelLayer.addFeatureLayer(featureLayer, renderer, "${CITY_NAME}"); map.addLayer(labelLayer);
1.6 WMSLayer
WMSLayer为符合OGC标准的WMS图层。
var wmsLayer = new esri.layers.WMSLayer(wmsURL, { resourceInfo: resourceInfo, visibleLayers: ['1','2'] });
map.addLayer(wmsLayer);
1.7 WMTSLayer
WMTSLayer为符合OGC标准的WMTS图层。
var layerInfo = new WMTSLayerInfo({ identifier: "world", tileMatrixSet: "EPSG:4326", format: "gif" });
var options = { serviceMode: "KVP", layerInfo: layerInfo };
var wmtsLayer = new WMTSLayer("http://v2.suite.opengeo.org/geoserver/gwc/service/wmts", options);
map.addLayer(wmtsLayer);