第1章 Google地图服务概述 1
1.1 Google地图服务简介 2
1.2 其他地图服务 3
1.2.1 Yahoo!Local服务 3
1.2.2 Microsoft Virtual Earth服务 4
1.2.3 国内的地图服务 5
第2章 开始Google Maps API之旅 6
2.1 Google Maps API初体验 7
2.2 搭建Google Maps API开发环境 10
2.2.1 搭建服务器端开发环境 10
2.2.2 配置客户端调试环境 11
2.2.3 申请Google Maps API Key 12
第3章 实战Google Maps API之一——IP地理位置可视化查询 14
3.1 创建基本的地图 15
3.1.1 创建“Hello World”地图 15
3.1.2 添加API内置GControl控件 18
3.1.3 使用GMarker地标 20
3.1.4 添加信息窗口GInfoWindow对象 25
3.1.5 添加多标签信息窗口GInfoWindowTab对象 27
3.1.6 移除不使用的对象 30
3.2 根据IP定位地理位置 32
3.2.1 IP定位地理位置概述及准备工作 32
3.2.2 利用GeoIP?数据库及API进行地理定位查询 33
3.2.3 在Google地图上显示查询结果 36
第4章 实战Google Maps API之二——BLOG访客地域来源记录 42
4.1 能定位访客位置的博客小地图 43
4.1.1 了解微软的IP定位接口 43
4.1.2 使用微软的IP定位接口获取访客位置 44
4.1.3 嵌入地图到常见的BLOG 48
4.2 记录访客的地域来源 50
4.2.1 统计数据输出的结构 50
4.2.2 动态生成数据文件 52
4.2.3 在Google地图上加载XML中的大量地标信息 54
4.2.4 利用JavaScript脚本采集用户数据 60
4.2.5 利用图片采集用户数据 65
4.2.6 显示统计信息 68
第5章 实战Google Maps API之三——地图天气预报服务 71
5.1 在Google地图上显示天气预报 72
5.1.1 从Yahoo!提供的免费服务中获取天气预报信息 72
5.1.2 利用Google Ajax Feed API加载RSS文档 74
5.1.3 YWeather类的构造 76
5.2 自动获取地点ID 81
5.2.1 使用weather.com?的SDK 81
5.2.2 动态显示来访者天气预报 82
第6章 Google Maps API高级编程 85
6.1 GPolyline折线对象和GPolygon多边形对象 86
6.1.1 使用GPolyline折线对象 86
6.1.2 使用GPolygon多边形对象 87
6.1.3 利用GPolyline和GPolygon玩一些小花招 90
6.1.4 使用GPolyline和GPolygon的工厂方法fromEncoded() 91
6.1.5 GPolyline和GPolygon的其他类方法 94
6.1.6 计算GPolyline折线对象的实际长度 94
6.1.7 通过XML文档加载GPolyline和Gpolygon 96
6.2 Google地图中的事件监听及响应 99
6.2.1 GEvent命名空间(一)——添加事件监听的方法 100
6.2.2 GEvent命名空间(二)——移除事件监听的方法 103
6.2.3 Google地图常用事件讲解(一)——获取地图参数 105
6.2.4 Google地图常用事件讲解(二)——获取鼠标的位置 108
6.2.5 Google地图常用事件讲解(三)——操纵GMarker地标 109
6.3 Google地图技巧集锦 116
6.3.1 在信息窗口GInfowWindow中嵌入Flash动画 116
6.3.2 Google地图的画中画效果 118
6.3.3 利用鼠标和键盘事件简化操作 119
6.3.4 利用GeoCoder地理编码查询信息 121
6.3.5 加载KML或GeoRSS文档 122
第7章 Google Maps API深度历险 125
7.1 导入Google Maps API库 126
7.1.1 导入不同版本的Google Maps API库文件 126
7.1.2 导入不同语言的Google Maps API库文件 127
7.1.3 在不同URL地址下使用Google Maps API 128
7.2 挖掘Google Maps API中未公开的功能 132
7.2.1 为Google地图添加鸟瞰地图 133
7.2.2 最大化GInfoWindow信息窗口 134
7.2.3 设定GMarker地标的Z轴坐标 136
7.3 自定义Google地图 138
7.3.1 改变Google地图色调 138
7.3.2 限制地图的缩放级别和显示范围 140
7.3.3 打造Google地图夜间版 143
7.4 第三方扩展资源 149
7.4.1 使用TLabel 149
7.4.2 使用Tphoto 150
7.4.3 使用Gzoom 152
7.5 深入Google地图核心 153
7.5.1 彻底去掉Google Maps API Key 153
7.5.2 汉化Google地图 157
7.5.3 打造完美的混合地图(一) 164
7.5.4 打造完美的混合地图(二) 167
第8章 实现基于Google地图的留言系统 170
8.1 系统功能概述 171
8.1.1 系统构架 172
8.1.2 系统功能模块设计 172
8.2 总体设计 173
8.2.1 总体结构 173
8.2.2 各页面功能分配 175
8.3 数据库设计 175
8.3.1 数据库设计思想 175
8.3.2 创建数据库 176
8.4 公用模块 178
8.4.1 公共类 179
8.4.2 系统配置文件config.inc.php 180
8.4.3 公用函数文件functions.php 181
8.4.4 验证码文件verify.php 182
8.4.5 主引用文件include.inc.php 183
8.4.6 主界面index.php 185
8.4.7 界面设定脚本ui.php 187
8.4.8 自定义的GButton控件 188
8.4.9 自定义的GMapbookInfo控件 191
8.4.10 Cookie操作脚本 192
8.4.11 显示信息提示窗口的showWindow()函数 193
8.5 前台其他功能模块 194
8.5.1 地图加载 194
8.5.2 留言信息显示 198
8.5.3 提交留言 208
8.5.4 登录和登出 213
8.5.5 注册和重设密码 218
8.5.6 删除和回复留言 221
8.5.7 更改密码和设置 224
8.6 开发小结 227
第9章 认识Google Earth 228
9.1 地图概述 229
9.2 地图数据类型 229
9.3 Google Earth简介 229
9.3.1 Google Earth数据源 229
9.3.2 Google Earth界面环境 230
9.3.3 常用功能 230
9.4 可扩展的Google Earth 231
第10章 剖析Google Earth 233
10.1 基础知识 234
10.1.1 视图与投影 234
10.1.2 图幅拼接 234
10.1.3 影像地图 235
10.2 剖析Google Earth 235
10.2.1 地图加载和搜索 235
10.2.2 地图的显示、平移和缩放 236
10.2.3 图层管理 237
10.2.4 地图标尺 238
10.2.5 地标 238
10.2.6 3D模型 239
10.3 Google Earth发展 239
10.3.1 Google Earth数据量丰富 239
10.3.2 Google Earth功能强大但需求多样 240
第11章 Google Earth COM API初步 242
11.1 COM编程结构 243
11.1.1 面向对象编程思想 243
11.1.2 COM对象和接口 243
11.1.3 COM库 244
11.1.4 Google Earth COM API类库 245
11.2 KML文件 246
11.2.1 KML语法和文件结构 246
11.2.2 KML文件的创建 247
第12章 IApplicationGE类 250
12.1 IApplicationGE类概述 251
12.1.1 常用属性 251
12.1.2 常用成员函数 251
12.2 客户端初始化 252
12.2.1 知识准备 252
12.2.2 功能实现 253
12.3 地图定位 257
12.3.1 知识准备 257
12.3.2 功能实现 258
12.4 地图平移 261
12.4.1 知识准备 262
12.4.2 功能实现 263
12.5 地理坐标获取 265
12.5.1 知识准备 265
12.5.2 功能实现 267
12.6 文件操作 272
12.6.1 知识准备 272
12.6.2 代码实现 273
第13章 ICameraInfoGE类 277
13.1 ICameraInfoGE类概述 278
13.1.1 常用属性 278
13.1.2 常用成员函数 278
13.2 地图缩放和视角调整 279
第14章 IFeatureGE类 284
14.1 功能描述 285
14.1.1 常用属性 285
14.1.2 常用成员函数 285
14.2 视图切换 285
14.2.1 知识准备 286
14.2.2 功能实现 287
14.3 本地搜索 290
14.3.1 知识准备 291
14.3.2 功能实现 292
14.4 动态显示和景点导航 298
14.4.1 知识准备 299
14.4.2 功能实现 299
14.5 要素的ID显示 310
14.5.1 知识准备 310
14.5.2 功能实现 311
14.6 图层控制 314
14.6.1 知识准备 315
14.6.2 代码介绍 315
第15章 ISearchControllerGE类 321
15.1 ISearchControllerGE类概述 322
15.2 基本搜索 322
15.2.1 知识准备 322
15.2.2 功能实现 323
15.3 地理位置可视化 327
15.3.1 知识准备 327
15.3.2 功能实现 328
第16章 ITourControllerGE类 335
16.1 ITourControllerGE类概述 336
16.1.1 属性 336
16.1.2 成员函数 336
16.2 批量搜索显示 336
16.2.1 知识准备 337
16.2.2 功能实现 338
16.3 路径搜索和动态显示 344
16.3.1 知识准备 344
16.3.2 功能实现 346
第17章 IAnimationControllerGE类 361
17.1 IAnimationControllerGE类概述 362
17.1.1 常用属性 362
17.1.2 常用成员函数 362
17.2 路况显示和行车路线 362
17.2.1 知识准备 362
17.2.2 代码实现 364
17.3 导航 380
第18章 城市地铁查询系统 387
18.1 功能描述 388
18.2 前期准备 388
18.2.1 建立包含地铁线路的KML文件 388
18.2.2 建立包含线路信息的TXT文件 391
18.3 系统界面设计 393
18.4 初始化 394
18.5 数据文件处理 394
18.6 查询分析 396
18.6.1 交点判断 396
18.6.2 自定义函数GetLine2() 399
18.6.3 路线分析 400
18.7 输出显示 420
18.7.1 可行方案列表 420
18.7.2 路线图显示 425
18.8 系统运行 427
第19章 奥运会信息服务系统 429
19.1 功能描述 430
19.2 前期准备 430
19.2.1 ground.kml文件 430
19.2.2 stadiums.kml文件 439
19.2.3 stadiums.kml文件 440
19.2.4 TXT文件 444
19.3 系统初始设计 444
19.3.1 菜单栏设置 444
19.3.2 工具栏设置 445
19.3.3 窗体设置 445
19.3.4 Google Earth接口设置 445
19.3.5 变量声明 445
19.4 项目展示 446
19.5 火车站 446
19.5.1 火车站对话框 446
19.5.2 OnStation()函数 447
19.6 实况播报 450
19.6.1 坐标转换函数 450
19.6.2 奥运场馆赛况对话框 451
19.6.3 对话框的响应 452
19.7 信息搜索 453
19.7.1 比赛项目搜索对话框 454
19.7.2 比赛项目信息对话框 454
19.7.3 信息搜索 455
19.8 视图控制 459
19.8.1 视图左移 459
19.8.2 视图右移 459
19.8.3 视图上移 460
19.8.4 视图下移 460
19.8.5 视图放大 461
19.8.6 视图缩小 461
19.9 辅助函数 461
19.9.1 Google Earth客户端的启动和退出 461
19.9.2 动态显示的停止 462
19.10 系统运行 462
附录A 系统运行环境及光盘注意事项 467
附录B 光盘程序代码说明 468