1、关于Graphicjavascript
首先看张图:html
这是整个Graphic涉及的一些类,上图中的能够进行客户端点、线、面的表示。在服务器端的进行修改时applyEdits函数传入的也是graphic,drawToolbar绘图类也涉及到graphic,总而言之,graphic能够视为一个要素元素,感受更应该称之为图形java
2、关于esriLang类的substitute(data, template?, first?)方法数据库
返回一个字符串,data是数据,template是中占位符模板api
一、模板的写法跨域
HTML写法服务器
var t = "<b>${NAME}</b><hr><b>2000 人口数量: </b>${POP2000:NumberFormat}<br>" + "<b>2000 人口密度: </b>${POP00_SQMI:NumberFormat}<br>" + "<b>2007 人口密度:</b>${POP2007:NumberFormat}<br>" + "<b>2007 人口密度: </b>${POP07_SQMI:NumberFormat}"; //attributes中的字段进行替换 var content = esriLang.substitute(evt.graphic.attributes, t);
该方法通常与infoTemplate类一块用app
3、关于FeatureLayer加载服务函数
一、发布的要素服务无 工具
二、地图服务的单个图层
4、关于TiledMapServiceLayer的子类
一、ArcGISTiledMapServiceLayer:用于访问ArcGIS Server发布的地图切片服务
二、VETiledLayer:用于访问微软的Bing地图,可是其 命名空间在3.25不在layer图层下,在"esri/virtualearth/VETiledLayer"
三、OpenStreetMapLayer:用于访问开放街道地图(OSM)
四、WMTSLayer:用于访问OGC标准的WMTS服务
五、WebTiledLayer:用于访问非ArcGIS Server发布的切片服务
5、esri/config模块
ArcGIS API For JS有一些默认的配置,例如漫游动画时间、缩放持续时间、缩放刷新速度等,均可以经过该模块进行控制。
使用示例:
esriConfig.defaults.map.panDuration = 1000; esriConfig.defaults.map.panRate = 50; esriConfig.defaults.map.zoomDuration = 1000; esriConfig.defaults.map.zoomRate = 50;
6、关于地图的配置(写成一个对象)
好处:开发人员容易配置,代码不乱,更改服务更容易。
示例:
/* --------------------------------地图初始信息配置-------------------------------- */ function MapConfig() { } MapConfig.mapInitParams = { fullExtent: {//全图范围 xmin: 121.29585473952106, ymin: 39.49550677343447, xmax: 123.05162192862765, ymax: 139.982938778863684 }, extent: {//初始化范围 xmin: 120.8696333, ymin: 38.65953686, xmax: 123.6199347, ymax: 40.202622 }, spatialReference: {//地图空间参考坐标系 wkid: 4326 }, lods: [//针对瓦片的地图服务的,用来控制瓦片级别的显示,有时候切片级别太多的话,能够只显示部分的级别地图 //resolution scale这些值的获取参照发布的切片地图服务详情 { "level": 0, "resolution": 0.00118973050291514, "scale": 500000 }, { "level": 1, "resolution": 5.9486525145757E-4, "scale": 250000 }, { "level": 2, "resolution": 2.3794610058302802E-4, "scale": 100000 }, { "level": 3, "resolution": 5.710706413992673E-5, "scale": 24000 }, { "level": 4, "resolution": 2.3794610058302804E-5, "scale": 10000 } ] } /*地图调用*/ MapConfig.vecMapUrl = "http://localhost:6080/arcgis/r ... rcGIS动态服务 MapConfig.imgMapUrl = "http://localhost:6080/arcgis/r ... rcGIS切图服务
7、Dojo类的代码声明示例
define(["dojo/_base/declare"], function (declare) { return declare("aClass", null, { mynum: 10, //声明一个变量(在这个类里是全局的) constructor: function (num) { //这个是构造函数,声明类的实例时,传的参数在这里 console.log(num); //咱们让声明实例时,输出他传的参数 }, add: function (num1) { //类方法,调用类方法时,返回值是参数+10 return this.mynum + num1; //必须加this.mynum才能调用类内置的变量 }, getMynum: function () { //返回类内部的变量 return this.mynum; }, mynumAdd:function(){ this.mynum++; return this.mynum; } }) })
8、咱们在要发布模型工具(插值、缓冲区、等值线、等值面等等)以前,为何会要把输入要素类型改为输入要素类?
当咱们使用查询、地理处理和路径分析的时候咱们经常将FeatureSet输入和输出参数。
FeatureSet:是要素类的轻量级的表示,至关于地理数据库的一个要素类,是Feature(要素)的集合,FeatureSet的每一个Feature可能包含Geometry、符号、属性、和一个InfoTemplate。若是FeatureSet不包含Geometry,只包含属性,那么FeatureSet能够看做一个表,其中每一个Feature是一个行对象。
9、两个修改要素方面的小部件
一、AttributeInspector
效果如上图,点击出现弹窗,进行要素的编辑修改,点我查看demo
二、FeatureTable
这个基本功能和上面差很少,点我查看demo
10、esri/config类
关于这个类主要设置地图的默认配置即defaults,defaults 又分为三个种类设置:
一、IO:这里面涉及一些跨域等方面的设置
二、map:这里面主要涉及一些地图状态参数设置
三、workers:AMD加载一些设置
四、kmlService:该参数默认为空,具体什么用还没看懂
五、geometryService:该参数对于一些分析类的东西虽然有时候咱们没法发布咱们的模型,可是咱们能够用online上面的,很是方便的。
使用示例:
esriConfig.defaults.map.panDuration = 1; // time in milliseconds, default panDuration: 350 esriConfig.defaults.map.panRate = 1; // default panRate: 25 esriConfig.defaults.map.zoomDuration = 100; // default zoomDuration: 500 esriConfig.defaults.map.zoomRate = 1; // default zoomRate: 25 esriConfig.defaults.geometryService = new GeometryService("https://utility.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); esriConfig.defaults.io.proxyUrl = "/proxy/"; esriConfig.defaults.io.alwaysUseProxy = false;
11、未完待续。。。。。