ArcGIS API for Javascript&Html5 应用开发

  • 格式:pdf
  • 大小:2.58 MB
  • 文档页数:68

DEMO
多图层属性查询:FindTask
• 查询同一个地图服务的多个图层。 • 仅能查询属性信息。
DEMO
多图层几何查询:IdentifyTask
• 查询同一个地图服务的多个图层。 • 仅能通过几何图形来查询。
• 地图导航
• 居中、漫游、缩放等设置
ArcGIS Layers
• ArcGISTiledMapServiceLayer
• 通过使用ArcGIS Server Rest API调用ArcGIS Server的 MapServer(已创建Cache)
• ArcGISDynamicMapServiceLayer
ArcGIS Server Rest API
Rest
• REST(Representational State Transfer表述性状态转移) 是一种针对网络应用的设计和开发方式,可以降低开发 的复杂性,提高系统的可伸缩性。 • REST原则
– 网络上的所有事物都被抽象为资源(resource) – 每个资源对应一个唯一的资源标识(resource identifier) – 通过通用的连接器接口(generic connector interface)对资源 进行操作 – 对资源的各种操作不会改变资源标识 – 所有的操作都是无状态的(stateless)
• 另一种选择CROS。
Task的一般调用方法
• Task.execute(parameters,callback,errorback)
• parameters:调用时的输入参数 • callback:回调函数 • errorback:错误回调函数
单图层查询:QueryTask
• 查询一个地图服务中的单个图层 • 可进行属性查询、几何查询或二都同时查询。
Graphic
• Graphic:在GraphicsLayer绘制显示的图形对象。 • Graphic=Geometry+Attribute+Symbol+Infotempla te。
Graphic
• Geometry=new esri.geometry.Point116.596664, 40.071667,
• Geometry • Symbology
• Toolbars
– ArcGIS Server Symbology
– Edit, Draw, Navigation
WebGIS Application Lite
加载地图 • Layer
查询分析
• Task
• Graphic
地图展示
Infowindow
Map & Layer
加载地图
Map Control
• 创建DIV用于显示地图
• <div id="divMap" ></div>
• 创建Map对象
• var Map=new esri.Map("divMap”);
• 主要功能
• 图层管理
• 添加、删除、遍历
• 显示设置
• Extent、 ArcGISTiledMapService Layer相关、屏幕地图坐标转换 ……
ArcGIS API for JavaScript 简介
什么是ArcGIS API for JavaScript?
• 首先发布于ArcGIS 9.3. • 调用ArcGIS Server REST API的一组JavaScript脚本。 • 基于功能强大的Dojo工具包
可以做什么?
• 快速创建交互式的地图应用 • 使用ArcGIS Server的REST API,可以实现显示、查询、 分析等功能。
• Map Control • Support for Webmap • Layers • Graphics • Tasks
– Tiled, Dynamic, FeatureLayer, WMS, WMTS, KML, Graphics
– GP, Network, Geometry, Query, Locator
Infowindow Lite
• 使用CSS样式定义Infowindow Lite外观。
DEMO
InfowindowBase
• 继承InfowindowBase创建自定义Infowindow。 • 需要实现实现几个方法
• Hide, show, setContent, setTitle, resize • 使用CSS来设置Infowindow的样式
• 通过REST服务页面可以快速把握ArcGIS Server的内容
– http://<host>:<port>/arcgis/rest/services
Dojo基础
加载Dojo模块 – dojo.require("esri.map");
Dojo初始化事件,在页面加载后执行程序
– dojo.addOnLoad(init) ;
Infowindow
信息显示
Infowindow
• • • • 每个地图仅有一个InfoWindow InfoWindow包括标题(Title)和内容(Content) InfoWindow可以指定位置显示 如果Graphic定义了InfoTemplate,则点击Graphic显示 InfoTemplate所定义的InfoWindow
Dojo事件
– dojo.connect(dijit.byId('map'), 'resize', function (){}); – dojo.connect(Map, "onMouseMove", MapMouseMove); • function MapMouseMove(evt) {}
API
• 纯粹的客户端语言(运行在客户端的浏览器内),包括桌面 和移动端 • 有各种成熟的JavaScript框架:Dojo、jQuery、ExtJS、 Prototype、YUI……
Dojo
• Dojo宽松的使用许可 • Academic Free License & BSD • Dojo功能全面,采用事件设计模式、支持矢量图形、而 且 widgets、Ajax、JSON等都是ArcServer客户端开发 所需要的,并且Dojo利于扩展,方便Mashup应用 • BM、Sun、AOL等公司的支持 • 活跃开发社区 • 支持多种客户端、浏览器
• 调用ArcGIS Server的GP服务,提供专业的分析结果 • 可以同时调用多个ArcGIS Server的服务,轻松实现融合 应用。
为什么选择JavaScript
• 所有的主流的浏览器均支持JavaScript,无需安装任何插 件
• JavaScript是世界最常用的开发语言之一,轻量级的 Web开发脚本语言
ArcGIS API for JavaScript & HTML5 应用开发
Esri中国信息技术有限公司 赖小辉
目录
ArcGIS API for JavaScript 简介 ArcGIS API for JavaScript 基础 ArcGIS API for JavaScript 进阶
HTML5 in ArcGIS API for JavaScript
• Polygons
SimpleFillSymbol, PictureFillSymbol
• Text
TextSymbol, Font
Infotemplate
• 用于定义InfoWindow的标题和内容格式 • 定义格式所用的字符串可包含任何HTML • 可以使用${Attribute}来代替值
var infoTemplate = new Template("${Name}","城市: ${City}<br/>经度:${Longitude}<br/>纬度:${Latitude}");
• 创建实例后,与普通的Infowindow调用方法相同
DEMO
Popup
• 继承自InfowindowBase,并提供额外的功能
• 浏览多选结果 • 缩放及高亮选择要素 • 可以最大化
DEMO
PopupMobile
• 继承自InfowindowBase,并提供额外的功能
• 浏览多选结果 • 高亮选择要素 • 可以最大化
• 通过使用ArcGIS Server Rest API调用ArcGIS Server的 MapServer(未创建Cache)。
• ArcGISImageServiceLayer
• 通过使用ArcGIS Server Rest API调用ArcGIS Server的 ImageServer。
OGC Layers
• <serverUrl url="http://192.168.110.160:6080/arcgis/rest/services/" matchAll="true"></serverUrl>
• 在代码中添加
• esri.config.defaults.io.proxyUrl = "proxy.ashx";
GraphicsLayer & Graphic
客户端绘制
GraphicsLayer
• 显示和管理Graphic对象 • Map.graphics:缺省的GraphicsLayer,所有图层的最 顶端。 • 创建GraphicsLayer
var graphicsLayer = new yers.GraphicsLayer({opacity:0.20}); map.addLayer(graphicsLayer);