您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > ArcGIS-API-for-JavaScript开发基础new
ArcGISJavaScriptAPI功能结构介绍产品研究与技术推广部王磊提纲•ArcGISJavaScriptAPI内容结构介绍•浅谈JSAPI与HTML5•探讨JSAPI与ArcGISServer10.1ArcGISJavaScriptAPI介绍使用ArcGISAPIforJavaScript可以做什么?•快速创建交互式的地图应用•调用ArcGISServer的GP服务,提供专业的分析结果•使用ArcGISServer的RESTAPI,提供显示、查询、分析等功能。•可以同时调用多个ArcGISServer的服务,轻松实现Mashup。ArcGISJavaScriptAPI介绍为什么选择JavaScript•所有主流浏览器都支持•世界上使用最广泛的一种WEB开发脚本语言•纯粹的客户端语言(运行在客户端的浏览器内)•完全免费的Web开发脚本语言•轻量级的Web开发脚本语言(无需安装任何插件)•有各种成熟的框架(Dojo、JQuery、Ext、Prototype)•支持多种开发方式•非常成熟、稳定ArcGISJavaScriptAPI介绍基于功能的API分类API时态展示图形绘制几何操作符号渲染网络分析dijit查询检索地图图层在线编辑常用控件地理处理ArcGISJavaScriptAPI——地图图层Map类:最核心的类,他是地图操作的基础!可以在其中添加layers,graphicss,infowindow和其他navigationcontrols。呈现地图服务、影像服务中的空间数据。展示WMS服务、热点图(HeatMap)、Bing地图OpenStreetMap、GeoRSS、KML数据等。并且Map可以与用户交互,接受用户输入ArcGISJavaScriptAPI——地图图层layers类继承结构:layersDynamicMapServiceLayerMapImageLayerKMLLayerGraphicsLayerTiledMapServiceLayerArcGISImageServiceLayerArcGISDynamicMapServiceLayerArcGISTiledMapServiceLayerVETiledLayer•layers类ArcGISJavaScriptAPI——地图图层GraphicsLayerESRI.ArcGIS.Client.GraphicsLayer是一种客户端图层,用于绘制基于矢量数据的图形,并指定符号进行渲染。DynamicMapServiceLayer抽象基类,表示动态图层类型。如果想创建自定义的动态图层类型,通过指向在线服务的URL访问动态生成的图片,请实现DynamicMapServiceLayer。KmlLayerESRI.ArcGIS.Client.Toolkit.DataSources.KmlLayer也是一种GraphicsLayer,其图形几何体由基于XML语法的数据源返回,可以是KML、KMZ或服务。TiledMapServiceLayer抽象基类,表示切片/缓存地图服务图层。当需要自定义一个切片图层类型,并且缓存图片可以通过简单的URL直接引用时,应考虑实现TiledMapServiceLayer。主要layers接口ArcGISJavaScriptAPI——图形绘制Graphic类:Graphic对象表示可以在GraphicsLayer上绘制的图形要素,同时FeatureLayer中的要素、几何服务操作的参数等大多以Graphic对象来表示。主要属性、方法、事件:成员说明Attributes要素的属性字典(key-value,key是属性名称,value是属性值)。Geometry获取或设置要素的图形几何体。MapTip获取或设置当鼠标悬停在要素上方时显示的地图提示。Selected获取或设置要素是否被选中。Symbol获取或设置用于渲染当前要素的符号。TimeExtent获取或设置当前要素的时间范围。Select/UnSelect选择/取消选择当前要素。AttributeValueChanged当前要素属性发生变化时触发的事件。MouseEnter/MouseLeaveMouseLeftButtonDown/UpMouseMoveMouseRightButtonDown/Up鼠标相关事件。•Geometry类:用于表示要素的图形,如点、线、多边形、矩形等。ArcGISJavaScriptAPI——图形绘制GeometryExtentMultipointPolylinePointPolygon几何体说明Geometry抽象类,定义几何体的图形。MapPoint点对象。MultiPoint多点对象。Polyline多义线对象,由路径(Path)组合而成。Extent表示几何对象的范围Polygon多边形对象,由环(Ring)组合而成。ArcGISJavaScriptAPI——图形绘制•Symbol:用于渲染要素的图形,如点符号、线符号、填充符号等。ArcGISJavaScriptAPI——图形渲染SymbolMarkerSymbolLineSymbolFillSymbolTextSymbolPictureFillSymbolLineFillSymbolSimpleFillSymbolPictureMarkerFillSymbolSimpleMarkerFillSymbol•renderer:渲染器定义了一种或多种符号以应用于一个GraphicsLayer。每个Graphic的符号所使用的符号取决于该Graphic的属性值。渲染器指定了属性值与符号之间的对应关系。ArcGISJavaScriptAPI——图形渲染RendererClassBreaksRendererSimpleRendererUniqueValueRenderer•SimpleRenderer:是最简单的符号化渲染,对所有要素使用同样的符号。•UniqueValueRenderer:使用唯一值符号化渲染,可以为具有特定属性值的Graphic定义符号•ClassBreaksRenderer:分级符号化渲染允许为特定属性值范围内的一组图形指定符号。ArcGISJavaScriptAPI——图形渲染查询检索是通过Task的方式实现的。使用Task三步走:实例化Task对象,注册Task完成、失败的监听事件;实例化Task参数对象,为必要属性赋值,发送请求;在Task完成事件处理函数中处理返回结果或在Task失败事件处理函数中处理错误信息。ArcGISJavaScriptAPI——查询检索使用各种方式查询检索空间数据FindTask(针对多个图层属性查询查询)IdentifyTask(针对多个图层空间查询)QueryTask(只针对一个图层)ArcGISJavaScriptAPI——查询检索几何操作:通过GeometryService实现对图形几何体的各种操作如生成缓冲区、图形合并、图形相交等。ArcGISJavaScriptAPI——几何操作GeometryService提供的服务多边形面积和周长测量测距创建点的laber点投影缓冲定义空间关系。。。。。。ArcGISJavaScriptAPI——几何操作•主要接口:esri.tasks.BufferParametersArcGISJavaScriptAPI——几何操作通过FeatureService客户端可访问要素的图形、属性、附件、关系,实现web编辑的能力。支持客户端编辑数据必须存储在ArcSDE中必须是FeatureService的服务支持版本和非版本编辑支持桌面客户端&浏览器ArcGISJavaScriptAPI——在线编辑图形编辑:移动要素移动节点删除线或多边形的节点旋转和缩放几何对象ArcGISJavaScriptAPI——在线编辑图形编辑属性编辑附件编辑•使用Edit接口的.applyEdits方法实现在线编辑,ArcGISJavaScriptAPI——在线编辑•属性编辑:FeatureDataForm:对单条记录进行编辑FeatureDataGrid:对多条记录进行编辑ArcGISJavaScriptAPI——在线编辑附件编辑:前提:数据源(要素类)启用附件功能附件管理控件AttachmentEditor,AttributeInspector:提供附件的编辑。为要素添加、删除附件,点击打开附件通过dijit来把空间数据对应的属性数据表现在web端,并支持在线操作属性数据和样式,以css表单的形式对属性数据进行检查,操作等。。。。,附件管理相关接口添加附件:FeatureLayer.AddAttachment删除附件:FeatureLayer.DeleteAttachment查询附件:FeatureLayer.QueryAttachmentInfos操作结果:AttachmentResult附件信息:AttachmentInfo附件格式图片、PDF、视频、Office文档等MIME类型文件网络分析要求地图服务中包含网络数据集(NetworkDataset)地图服务启用了网络分析能力最优路径分析参数对象:RouteParameters服务区域分析参数对象:ServiceAreaParameters临近设施分析参数对象:ClosestFacilityParametersArcGISJavaScriptAPI——网络分析•最优路径分析通过路径分析参数RouteParameters(如stop)调用RouteTask.solve()方法实现ArcGISJavaScriptAPI——网络分析ArcGISJavaScriptAPI——网络分析•最优路径分析服务区域分析通过ServiceAreaParameters调用serviceAreaTask.solve(params,function(solveResult)方法ArcGISJavaScriptAPI——网络分析•临近设施分析通过ClosestFacilityParameters方法。使用closestFacilityTask.solve(params,function(solveResult)分析最邻居设施ArcGISJavaScriptAPI——网络分析ArcGISJavaScriptAPI——网络分析TimeSlider控件播放历史变化、查看某个时间点/时间范围的数据状态查询支持tasks.Query()支持将时间作为输入参数符号渲染renderer.attributeField用于展现数据在不同时间的空间位置变化ArcGISJavaScriptAPI——时态展示Geoprocessor:提供数据管理、数据转换和各种数据分析的工具和模型。在ArcGISServer中,通过将GP工具、模型发布为GP服务,客户端API即可以Task方式调用。两种执行方式execute:同步执行,等待结果submitJob:异步执行,通过onJobComplete事件获取执行结果。ArcGISJavaScriptAPI——地理处理GP工具类型ArcToolbox中的GP工具:ArcGISServer许可允许的工具。自定义GP工具:通过C#、Python编写的地理处理逻辑。GP服务使用场景RESTAPI无法实现的功能,如数据转换/管理、空间分析等GP服务主要功能列出服务中可用的工具及其输入输出参数同步执行一个Task向Task中异步提交Job获取Job的信息,包括状态使用地图服务展示处理结果在客户端提取处理结果,用作进一步处理的输入参数ArcGISJavaScriptAPI——地理处理gp=newesri.tasks.Geoprocessor(
本文标题:ArcGIS-API-for-JavaScript开发基础new
链接地址:https://www.777doc.com/doc-5160441 .html