第一章 地理信息服务概述 1
1.1 从地理信息系统到地理信息服务 1
1.2 地理信息服务的特点和要求 3
1.3 地理信息服务发展趋势 4
1.4 地理信息服务开发:软件和平台 5
1.5 地理信息服务对GIS开发人员的知识技能要求 7
第二章 插件式桌面GIS软件开发 8
2.1 插件式软件框架概述 8
2.2 以超图SuperMap Objects.NET搭建一个插件GIS框架 10
2.2.1 插件式GIS框架主体结构 11
2.2.2 主程序UI的设计与实现 11
2.2.3 暴露主程序接口 15
2.2.4 插件架构设计 22
2.2.5 插件容器的设计与实现 31
2.2.6 插件解析器的设计与实现 39
2.2.7 使主程序具备识别插件的能力 42
2.2.8 小结 52
2.3 实践 52
2.3.1 开发一个工具栏插件 52
2.3.2 开发一个Command插件 53
2.3.3 编译并运行程序 56
2.3.4 小结 57
第三章 用标准地图API开发网络GIS服务 58
3.1 地图API概述 58
3.2 标准ArcGIS服务类型 59
3.3 用ArcGIS Server开发GIS服务 59
3.3.1 ArcGIS Server服务的发布方法 59
3.3.2 ArcGIS Server服务的调用 63
3.4 客户端开发 65
3.5 移动端开发 68
3.5.1 ArcGIS Runtime SDK简介 68
3.5.2 ArcGIS移动地图开发环境搭建 69
3.5.3 ArcGIS移动地图基本功能 74
3.5.4 ArcGIS移动地图综合开发实例 80
3.6 部署与开发 87
3.6.1 GIS服务器的部署 87
3.6.2 Web服务器的部署 87
3.6.3 Android应用程序的打包与发布 89
第四章 用百度地图API开发GIS服务 90
4.1 百度地图API概述 91
4.2 申请密钥 91
4.3 使用百度地图JavaScript API 92
4.4 使用百度地图Web服务API 98
第五章 使用腾讯地图API开发应用服务 101
5.1 腾讯地图API简介 101
5.2 腾讯地图开发环境搭建 102
5.2.1 开发准备 102
5.2.2 申请Key 103
5.2.3 工程创建 105
5.2.4 地图SDK配置 107
5.2.5 显示地图 108
5.3 腾讯地图基本功能开发 109
5.3.1 地图设置与地图部件 109
5.3.2 地图定位 111
5.3.3 地图图层和地图事件 112
5.4 腾讯地图服务 116
5.4.1 检索服务调用流程 117
5.4.2 POI检索服务 118
5.4.3 路径查询服务 120
第六章 用开源LeafLet开发网络GIS服务 123
6.1 开源LeafLet概述 123
6.1.1 开源LeafLet及其特点 123
6.1.2 开源LeafLet体系结构 124
6.1.3 开源LeafLet开发环境 124
6.2 开始第一个LeafLet开发 126
6.2.1 LeafLet快速入门指导 126
6.2.2 基于移动端的LeafLet 134
6.2.3 使用自定义图标的注记 136
6.2.4 使用GeoJSON数据 138
6.2.5 交互专题图 143
6.2.6 图层集合和图层控件 149
6.2.7 插件功能 151
6.2.8 总结 153
6.3 用LeafLet开发一个校园地图服务 153
6.3.1 数据准备 153
6.3.2 数据可视化 155
6.3.3 添加查询插件 157
第七章 基于HTML5的网络地图开发 160
7.1 概述 160
7.1.1 HTML5 160
7.1.2 CSS 161
7.1.3 JavaScript 162
7.1.4 OpenLayers 165
7.2 开始第一个网络地图应用开发 165
7.3 理解OpenLayers关键概念 169
7.4 使用OpenLayers开发一个室内地图应用 171
第八章 用OpenLayers与Ionic开发移动地图应用 178
8.1 概述 178
8.2 第一个移动地图APP 178
8.3 使用Ionic设计应用界面 182
8.4 使用各类地图资源 184
8.5 与地图应用交互 187
8.6 丰富移动应用功能 197
8.7 结合Cesium构建三维地图 203
第九章 用开源OSMDroid开发移动应用 206
9.1 概述 206
9.2 开始第一个移动地图应用 210
9.2.1 开发环境搭建 210
9.2.2 加载在线地图 210
9.2.3 图形绘制 211
9.2.4 离线地图 213
9.2.5 自定义地图数据源 215
9.3 使用OSMDroid开发室内地图应用 217
9.3.1 地图显示模块 218
9.3.2 地图操作模块 218
9.3.3 楼层切换模块 222
9.3.4 路径规划模块 223
第十章 街景地图应用开发 224
10.1 街景地图与街景地图服务 224
10.2 腾讯街景地图SDK开发 227
10.2.1 开发环境搭建 227
10.2.2 Hello Street View 232
10.2.3 重要的API介绍 234
10.3 Unity引擎开发街景应用 236
10.3.1 Unity显示全景 236
10.3.2 Unity全景控制 239
10.3.3 Unity多平台发布 241
第十一章 GIS云服务 247
11.1 云服务概述 247
11.1.1 GIS与云服务结合的必要性和可行性 248
11.1.2 云GIS的定义 248
11.1.3 云GIS的优势 249
11.1.4 小结 250
11.2 云服务配置与开发 250
11.2.1 全景浏览功能开发 250
11.2.2 部署到IBM的Bluemix 255
参考文献 261