ArcGIS Server JavaScript API是ESRI推出的地图应用程序编程接口(API),它可以帮助用户运用ArcGIS Server提供的服务去搭建轻量级的高性能客户端地理信息系统(GIS)应用程序,将一幅交互式的地图或一个地理处理任务(例如查询空间数据)嵌入到网络应用程序中。《ArcGIS Server JavaScript API开发GeoWeb 2.0应用》以循序渐进的方式,通过大量实例介绍了如何来使用ArcGIS ServerJava Script API访问ArcGISServer提供的地图与空间分析服务,从而开发具有较为复杂GIS功能的GeoWeb 2.0应用程序。《ArcGIS Server JavaScript API开发GeoWeb 2.0应用》还穿插介绍了20多个辅助开发工具的使用,例如Firebug、IE Developer Toolbar、Fiddler、JSON Viewer、JSLint、YSlow与Page Speed等。此外,《ArcGIS Server JavaScript API开发GeoWeb 2.0应用》提供了几个开发框架,读者可在此基础上加入专业的应用,实现GeoWeb应用的快速开发。
《ArcGIS Server JavaScript API开发GeoWeb 2.0应用》适用于政府、企业相关部门的GIS研究与开发人员,也适用于高等院校地理学、地理信息系统、房地产、环境科学、资源与城乡规划管理、区域经济学等相关专业学生参考与学习。《ArcGIS Server JavaScript API开发GeoWeb 2.0应用》还适合作为各种GIS培训班的教材和参考书。
提供了几种不同风格的进一步封装的开发框架,方便读者快速开发 二十多个辅助开发工具应用详解,如Firebug、Fiddler、JSON Viewer、JSLint与YSlow等 通过大量的实例和20多个辅助开发工具.如Firebug、IE Developer Toolbar、Fiddler、JSON Viewer、JSLint、YSlow与Page Speed的使用.详解了如何使用ArcGIS Server javascript API访问ArcGIS Server提供的地图与空间分析服务.实现具有较为复杂GIS功能的Geo Web 2.0应用程序的开发。
刘光,北京大学遥感与地理信息系统研究所博士,现任职于北京市地理信息中心,长期从事地理信息系统开发工作,出版过多部地理信息系统方面的专著。
唐大仕,GIS专业博士,北京大学计算机系教师,长期从事计算机编程语言的教学。
第1章 ArcGIS JavaScript API介绍
1.1 ArcGIS JavaScript API版的“Hello World”
1.2 ArcGIS JavaScript API是什么
1.2.1 ArcGIS JavaScript API的构成
1.2.2ArcGIS JavaScript API与REST
1.2.3 ArcGIS JavaScript API与Dojo
1.3 为什么需要ArcGIS JavaScript API
1.4 开发与调试工具
1.4.1 集成开发环境
1.4.2 调试工具
1.4.3 Firebug
1.4.4其他工具软件
1.5 Doio基础知识
1.5.1 JavaScript对 象
1.5.2 函数也是对象
1.5.3 模拟类与继承
1.5.4 使用模块与包管理源代码
第2章 页面布局设计
2.1 使用布局小部件设计页面框架
2.1.1 小部件与布局小部件简介
2.1.2 使用面板组织页面元素
2.1.3 使用容器小部件设计页面布局
2.2 可移动的小部件微架构
2.2.1 自定义小部件的基础知识
2.2.2 內容小部件基类的实现
2.2.3 可移动的框架小部件
2.2.4 测试
2.3 集中控制的小部件微架构
2.3.1 可集中控制的框架小部件
2.3.2 小部件容器
2.3.3 测试
2.3.4 DOJ0的订阅/发布模式的事件处理机制
2.4 使用菜单组织功能
2.4.1 菜单容器小部件
2.4.2 菜单项小部件
2.4.3 菜单小部件
2.4.4 测试
第3章 地图与图层
3.1 图层操作
3.1.1 图层类及其之间的继承关系
3.1.2 实现图层控制器功能
3.2 地图操作
3.2.1 地图窗口操作
3.2.2 地图属性获取
3.2.3 事件处理
3.3 地图参数基本配置
3.3.1 漫游与缩放动画参数配置
3.3.2 比例滚动条参数配置
3.4 获取地图图例
3.4.1 图例小部件
3.4.2 测试
3.5 自定义图层
3.5.1 WMS图层
3.5.2 自定义缓存图层
3.6 地图打印输出
3.6.1 用于地图输出的自定义图层
3.6.2 融合图像的自定义HTTP处理程序
3.6.3 地图输出布局页面
3.6.4 初始页面
第4章 空间参考系统与几何对象
4.1 空间参考系统
4.1.1 空间参考系统类
4.1.2 投影转换
4.2 几何对象
4.2.1 几何对象类及其之间的继承关系
4.2.2 几何对象的绘制
第5章 符号与图形
5.1 符号
5.1.1 标记符号
5.1.2 线符号
5.1.3 填充符号
5.1.4 文本符号
5.2 图形
5.2.1 图形对象的构成
5.2.2 InfoTemplate与InfoWindow
第6章 空间分析功能
6.1 图形查询属性
6.1.1 利用IdentifyTask实现空间查询
6.1.2 利用QueryTask类实现空间查询
6.1.3 表格形式显示查询结果
6.1.4 图形化表达查询结果
6.2 属性查询图形
6.3 几何服务
6.3.1 缓冲区分析
6.3.2 确定空间关系
6.4 地理处理服务
6.5 地理编码
6.5.1 地址匹配
6.5.2 反地理编码
6.6 最优路径分析
6.7 数字高程模型分析
6.7.1 视域分析
6.7.2 剖面线绘制
第7章 Google地图JavaScript扩展
7.1 Google地图API简介
7.1.1 Google地图API使用基本框架
7.1.2 其他常用的类与函数
7.2 使用ArcGIS Server服务
7.2.1 在Google地 图中增加ArcGIS Server地图
7.2.2 空间分析
7.3 与Dojo联合使用的模板
7.3.1 界面设计
7.3.2 界面初始化
7.3.3 功能实现
第8章 微软Bing地图JavaScript扩展
8.1 微软Bing Maps地图控件简介
8.1.1 显示地图
8.1.2 控制地图
8.1.3 在地图中添加标注
8.2 使用Bing地图 JavaScrlpt扩展
8.2.1 在Bing地 图中加入ArcGIS Setver服务
8.2.2 使用 ArcGIS Server空间分析服务
第9章 与其他Ajax框架融合
9.1 几个主流Ajax框架
9.1.1 jQuery
9.1.2 Mootools
9.1.3 Ext jS
9.2 与jQuery融合
9.2.1 在Visual Studio 2008中设置iQuery智能提示
9.2.2 jQuery使用基础
9.2.3 使用jQuery的滑决替代Dojo的比例尺滑块
9.3 与Ext JS融合
9.3.1 Ext JS使用基础
9.3.2 与Google地图API融合实例
第10章 其他类似的地图JavaScript APL
10.1 Geocortex Essentials JavaScr.1pt API
10.1.1 Geocortex Essentials的架构
10.1.2 Geocottex Essentials JavaScriptAPI的功能
10.1.3 基于站点的应用开发模式
10.1.4 Geocottex Essentials JavaScript API的基本使用
10.1.5 报表功能
10.2 OpenLaver
……
第11章 融入式地图应用实例
第12章 单元测试
第13章 性能测试与调优
从文字上看预加载与延迟加载似乎作用相反,但实际上二者目标是完全不同的。通过预先加载可以充分利用浏览器的空闲时间,并且可以请求未来页面需要的组件。在这种情况下,当用户访问下一个页面时,已经提前让大多数组件保存在缓存中,用户加载这个页面就会非常快。
预加载类型有下列三种:
(1)无条件预加载
onload事件一触发,就要马上取回一些指定的组件。
(2)条件预加载
根据用户操作预测用户下一步操作的方向,并据此做预加载。例如,在Google与中,在输入框中刚键入几个字符后,就会看到页面对键入的词做出合理推测,推断出几个可能要搜索的实际关键词。
(3)提前预加载
在将重新设计的网站页面发布前用此法较好。页面重新设计后常会有这样的反馈:“新站点太酷了,就是比以前慢”。原因在于用户访问旧站点是全缓存的,但新站点还没有缓存过。这时可以在发布新设计前就预加载一些新站点组件,这可以减少没有缓存的副作用。可以利用用户访问旧站点时浏览器空闲的时间请求新站点要使用的图片、脚本等。
13.2.2.6 根据域名划分页面内容
把页面内容划分成若干部分可以最大限度地实现并行下载。由于DNS查找带来的影响,因此首先要确保使用的域名数量在2个到4个之间。