第一篇 Google Maps API的应用 16
第1章 Google地图服务概述 16
1.1 Google地图服务简介 16
1.2 其他地图服务 18
第2章 开始Google Maps API之旅 21
2.1 Google Maps API初体验 21
2.2 搭建Google Maps API开发环境 24
2.2.1 搭建服务器端开发环境 24
2.2.2 配置客户端调试环境 26
2.2.3 申请Google Maps API Key 28
第3章 实战Google Maps API之一——IP地理位置可视化查询 30
3.1 创建基本的地图 30
3.1.1 创建“Hello World”地图 30
3.1.2 添加API内置GControl()控件 34
3.1.3 使用GMarker()地标 36
3.1.4 添加信息窗口GInfoWindow()对象 41
3.1.5 添加多标签信息窗口GInfoWindowTabs()对象 44
3.1.6 移除不使用的对象 47
3.2 根据IP定位地理位置 49
3.2.1 IP定位地理位置概述及准备工作 50
3.2.2 利用GeoIP?数据库及API进行地理定位查询 51
3.2.3 在Google地图上显示查询结果 54
第4章 实战Google Maps API之二——地图天气预报服务 61
4.1 在Google地图上显示天气预报 61
4.1.1 从Yahoo!提供的免费服务中获取天气预报信息 61
4.1.2 利用GoogleAJAX FeedAPI加载RSS文档 63
4.1.3 YWeather()类的构造 66
4.2 自动获取地点ID 72
4.2.1 使用weather.com的SDK 72
4.2.2 动态显示来访者天气预报 73
第5章 Google Maps API高级编程 77
5.1 GPolyline折线对象和GPolygon多边形对象 77
5.1.1 使用GPolyline折线对象 78
5.1.2 使用GPolygon多边形对象 79
5.1.3 利用GPolyline和GPolygon玩一些小花招 82
5.1.4 使用GPolyline和GPolygon的工厂方法fromEncoded() 84
5.1.5 GPolyline和GPolygon的其他类方法 87
5.1.6 计算GPolyline折线对象的实际长度 87
5.1.7 通过XML文档加载GPolyline和GPolygon 89
5.2 Google地图中的事件监听及响应 93
5.2.1 GEvent命名空间(一)——添加事件监听的方法 93
5.2.2 GEvent命名空间(二)——移除事件监听的方法 97
5.2.3 Google地图常用事件讲解(一)——获取地图参数 100
5.2.4 Google地图常用事件讲解(二)——获取鼠标的位置 102
5.2.5 Google地图常用事件讲解(三)——操纵GMarker地标 104
5.3 Google地图技巧集锦 112
5.3.1 在信息窗口GInfowWindow中嵌入Flash动画 113
5.3.2 Google地图的画中画效果 114
5.3.3 利用鼠标和键盘事件简化操作 116
5.3.4 通过GClientGeocoder进行地址解析 117
5.3.5 通过GClientGeocoder进行反向地址解析 119
5.3.6 通过HTTP进行地址解析 121
5.3.7 加载KML或GeoRSS文档 122
第6章 Google Maps API深度历险 125
6.1 导入Google Maps API库 125
6.1.1 导入不同版本的Google Maps API库文件 125
6.1.2 导入不同语言的Google Maps API库文件 126
6.1.3 在不同URL地址下使用Google Maps API 128
6.1.4 通过Google AJAX API载入Google地图 133
6.2 深度挖掘Google Maps API的功能 133
6.2.1 为Google地图添加鸟瞰地图 134
6.2.2 最大化GInfoWindow信息窗口 135
6.2.3 设定GMarker地标的Z轴坐标 138
6.3 自定义Google地图 140
6.3.1 改变Google地图色调 141
6.3.2 限制地图的缩放级别和显示范围 143
6.3.3 打造Google地图夜间版 146
6.4 第三方扩展资源 152
6.4.1 使用TLabel 152
6.4.2 使用TPhoto 154
6.4.3 使用GZoom 156
6.4.4 第三方扩展小结 157
第7章 实现基于Google地图的留言系统 158
7.1 系统功能概述 159
7.1.1 系统构架 159
7.1.2 系统功能模块设计 160
7.2 总体设计 161
7.2.1 总体结构 161
7.2.2 各页面功能分配 162
7.3 数据库设计 164
7.3.1 数据库设计思想 164
7.3.2 创建数据库 164
7.4 公用模块 167
7.4.1 公共类 167
7.4.2 系统配置文件config.inc.php 169
7.4.3 公用函数文件functions.php 170
7.4.4 验证码文件verify.php 171
7.4.5 主引用文件include.inc.php 171
7.4.6 主界面index.php 173
7.4.7 界面设定脚本ui.php 175
7.4.8 自定义的GButton控件 176
7.4.9 自定义的GMapbookInfo控件 178
7.4.10 Cookie操作脚本 180
7.4.11 显示信息提示窗口的showWindow()函数 181
7.5 前台其他功能模块 182
7.5.1 地图加载 182
7.5.2 留言信息显示 187
7.5.3 提交留言 196
7.5.4 登录和登出 201
7.5.5 注册和重设密码 207
7.5.6 删除和回复留言 211
7.5.7 更改密码和设置 213
7.6 开发小结 216
第二篇 Google Earth API的使用第8章 认识Google Earth 220
8.1 地图概述 220
8.2 地图数据类型 220
8.3 Google Earth简介 221
8.3.1 Google Earth数据源 221
8.3.2 Google Earth界面环境 221
8.3.3 常用功能 222
8.4 可扩展的Google Earth 225
8.5 星空功能(Sky) 225
8.6 模拟飞行 228
8.7 显示太阳 231
8.8 海洋探索 232
8.9 历史图片 235
8.10 街道视图 237
8.11 录制游览 238
第9章 剖析Google Earth 240
9.1 基础知识 240
9.1.1 视图与投影 240
9.1.2 图幅拼接 241
9.1.3 影像地图 241
9.2 剖析Google Earth 242
9.2.1 地图加载和搜索 242
9.2.2 地图的显示、平移和缩放 244
9.2.3 图层管理 244
9.2.4 地图标尺 245
9.2.5 地标 246
9.2.6 3D模型 246
9.3 Google Earth发展 247
9.3.1 Google Earth数据量丰富 247
9.3.2 Google Earth功能强大但需求多样 248
第10章 Google Earth COM API初步 249
10.1 COM编程结构 249
10.1.1 面向对象编程思想 249
10.1.2 COM对象和接口 250
10.1.3 COM库 251
10.1.4 Google Earth COM API类库 252
10.2 KML文件 253
10.2.1 KML语法和文件结构 253
10.2.2 KML文件的创建 254
第11章 IApplicationGE类 257
11.1 IApplicationGE类概述 257
11.1.1 常用属性 257
11.1.2 常用成员函数 258
11.2 客户端初始化 259
11.2.1 知识准备 259
11.2.2 功能实现 260
11.3 地图定位 264
11.3.1 知识准备 264
11.3.2 功能实现 265
11.4 地图平移 270
11.4.1 知识准备 271
11.4.2 功能实现 272
11.5 地理坐标获取 275
11.5.1 知识准备 275
11.5.2 功能实现 277
11.6 文件操作 283
11.6.1 知识准备 283
11.6.2 代码实现 284
第12章 ICameraInfoGE类 289
12.1 ICameraInfoGE类概述 289
12.1.1 常用属性 289
12.1.2 常用成员函数 290
12.2 地图缩放和视角调整 290
第13章 IFeatureGE类 296
13.1 功能描述 296
13.1.1 常用属性 296
13.1.2 常用成员函数 297
13.2 视图切换 297
13.2.1 知识准备 298
13.2.2 功能实现 299
13.3 本地搜索 302
13.3.1 知识准备 304
13.3.2 功能实现 304
13.4 动态显示和景点导航 311
13.4.1 知识准备 312
13.4.2 功能实现 312
13.5 要素的ID显示 325
13.5.1 知识准备 325
13.5.2 功能实现 326
13.6 图层控制 330
13.6.1 知识准备 331
13.6.2 代码介绍 331
第14章 ISearchControllerGE类 338
14.1 ISearchControllerGE类概述 338
14.2 基本搜索 338
14.2.1 知识准备 339
14.2.2 功能实现 340
14.3 地理位置可视化 344
14.3.1 知识准备 344
14.3.2 功能实现 345
第15章 ITourControllerGE类 353
15.1 ITourControllerGE类概述 353
15.1.1 属性 353
15.1.2 成员函数 354
15.2 批量搜索显示 354
15.2.1 知识准备 354
15.2.2 功能实现 355
15.3 路径搜索和动态显示 363
15.3.1 知识准备 363
15.3.2 功能实现 366
第16章 IAnimationControllerGE类 382
16.1 IAnimationControllerGE类概述 382
16.1.1 常用属性 382
16.1.2 常用成员函数 382
16.2 路况显示和行车路线 383
16.2.1 知识准备 383
16.2.2 代码实现 384
16.3 导航 402
第17章 城市地铁查询系统 410
17.1 功能描述 410
17.2 前期准备 410
17.2.1 建立包含地铁线路的KML文件 410
17.2.2 建立包含线路信息的TXT文件 414
17.3 系统界面设计 417
17.4 初始化 417
17.5 数据文件处理 418
17.6 查询分析 420
17.6.1 交点判断 420
17.6.2 自定义函数GetLine2() 423
17.6.3 路线分析 424
17.7 输出显示 449
17.7.1 可行方案列表 450
17.7.2 路线图显示 455
17.8 系统运行 457
第18章 奥运会旅游服务系统 459
18.1 功能描述 459
18.2 前期准备 459
18.2.1 ground.kml文件 459
18.2.2 stadiums.kml文件 470
18.2.3 stadiums.kml文件 471
18.2.4 TXT文件 475
18.3 系统初始设计 475
18.3.1 菜单栏设置 475
18.3.2 工具栏设置 476
18.3.3 窗体设置 476
18.3.4 Google Earth接口设置 476
18.3.5 变量声明 476
18.4 项目展示 477
18.5 火车站 477
18.5.1 火车站对话框 477
18.5.2 OnStation()函数 478
18.6 经典实况播报 481
18.6.1 坐标转换函数 482
18.6.2 奥运场馆赛况对话框 483
18.6.3 对话框的响应 483
18.7 信息搜索 485
18.7.1 比赛项目搜索对话框 485
18.7.2 比赛项目信息对话框 486
18.7.3 信息搜索 487
18.8 视图控制 492
18.8.1 视图左移 492
18.8.2 视图右移 492
18.8.3 视图上移 493
18.8.4 视图下移 493
18.8.5 视图放大 494
18.8.6 视图缩小 494
18.9 辅助函数 494
18.9.1 Google Earth客户端的启动和退出 494
18.9.2 动态显示的停止 495
18.10 系统运行 495