前言

本书第一部分详细介绍 W3C Geolocation API1。Geolocation API 支持以脚本方式访问与主机设备相关的地理位置信息。这个 API 定义了一组对象,在 JavaScript 中使用这些对象可以探知运行代码的设备位置。

注 1:Geolocation API Specification: W3C Candidate Recommendation 07 September 2010。编辑 Andrei Popescu,Google 股份有限公司,http://www.w3.org/TR/geolocation-API/

术语地理定位(geolocation)有时指找到某人位置的动作,有时候也可以指实际的位置。

W3C Geolocation API 为浏览器带来了令人难以置信的能力。此前,只有那些在特殊设备上编写本地地理定位应用的开发人员才有可能使用定位服务。现在,开发人员可以自由地直接在浏览器中针对 Web 编写地理定位应用,而且这些应用还具备“一次编写,随处部署”的优点。

关于这部分的标题

在继续讲下去之前,我想需要为这部分的标题 HTML5 Geolocation 说声抱歉!从技术角度讲,Geolocation API 并不是 W3C HTML5 规范的一部分。因此,HTML5 Geolocation API 这种提法的确是错误的,我知道这一点。

话虽这样说,我还是想请大家用 Google 搜一搜“Geolocation API”或者“HTML5 APIs”,看看结果中有多少条目以“HTML5 Geolocation”作为标题。相信你会发现,这样的条目非常少,除了 W3C Geolocation API Working Draft——这个标题省略了 HTML5 字样。此外,我在加州棕榈泉市(Palm Springs)举办的 2011 Esri Developer Summit 上,听了很多场有关 JavaScript 的演讲。每一位演讲人在提到 Geolocation API 时,也会提到 HTML5,无一例外。这些人熟悉自己的 GIS(Geographic Information System,地理信息系统),以 GIS 为生,而且都在世界领先的 GIS 软件公司工作。

事实很简单,说到 Geolocation,大家都会联想到 HTML5。为了避免不使用 HTML5 可能给读者带来的疑惑,加之我和我的编辑都谁想不出来给这部分起个什么名字才更时髦,结果就只能选 HTML5 Geolocation 了。

读者对象

这部分适合所有想在 Web 应用中使用 W3C Geolocation API 的开发人员阅读。前几章详细介绍什么是地理定位,地理定位的历史以及地理定位今天的应用现状。

前几章是有关地理定位的简要教程,可以帮助读者理解这个 API 的大致情况。假如你有 GIS 行业的从业经验,只想知道怎么在自己的应用中使用这个新的 API,或者你已经对地理定位了如指掌,可以直接看第 3 章关于 API 实际应用的内容。

开发人员肯定会对第 3 章和第 4 章特别感兴趣,因为这两章基于代码和示例讨论了这个 API 的使用方法。非程序员也大致能够看懂这两章的内容,从而对这个 API 能够做什么有一个更深入的理解。第 6 章探讨了地理定位对我们未来生活的影响,介绍了使用 Geolocation API 开发实际的应用。

排版规范

本书使用的排版规范如下所示。

  • 楷体

    用于表示新的术语、URL、电子邮件地址、集合名、数据库名、文件名及文件扩展名。

  • 等宽字体

    表示程序片段,也在段落中表示程序中使用的变量、函数名、命令行实用工具、环境变量、语句和关键词等元素。

  • 等宽加粗

    这种字体表示用户需要手动输入的命令或者相应的文本。

  • 斜体

    用户需要根据自己所提供的值或由上下文所确定的值进行更改的部分。

这个图标代表小窍门、建议或者注意。

使用示例代码

让我们助你一臂之力。也许你要在自己的程序或文档中用到本书中的代码。除非大段大段地使用,否则不必与我们联系取得授权。例如,无需请求许可,就可以用本书中的几段代码写成一个程序。但是销售或者发布 O'Reilly 图书中代码的光盘则必须事先获得授权。引用书中的代码来回答问题也无需授权。将大段的示例代码整合到你自己的产品文档中则必须经过许可。

我们非常希望你能标明出处,但并不强求。出处一般含有书名、作者、出版商和 ISBN,例如“HTML5 Geolocation,Anthony T. Holdener Ⅲ(O'Reilly,2011)版权所有,978-1-449-30472-0”。

如果有关于使用代码的未尽事宜,可以随时与我们取得联系,permissions@oreilly.com

Safari®在线图书

Safari 在线图书是应需而变的数字图书馆。它能够让你非常轻松地搜索 7500 多种技术性和创新性参考书以及视频,以便快速地找到需要的答案。

订阅后就可以访问在线图书馆内的所有页面和视频。可以在手机或其他移动设备上阅读,还能在新书上市之前抢先阅读,也能够看到还在创作中的书稿并向作者反馈意见。复制粘贴代码示例、放入收藏夹、下载部分章节、标记关键点、做笔记甚至打印页面等有用的功能可以节省大量时间。

这本书也在其中。欲访问本书英文版的电子版,或者由 O'Reilly 或其他出版社出版的相关图书,请到 http://my.safaribooksonline.com 免费注册。

我们的联系方式

请把对本书的评论和问题发给出版社。

美国:

  O'Reilly Media, Inc.

  1005 Gravenstein Highway North

  Sebastopol, CA 95472

中国:

  北京市西城区西直门南大街 2 号成铭大厦 C 座 807 室(100035)

  奥莱利技术咨询(北京)有限公司

O'Reilly 的每一本书都有专属网页,你可以在那儿找到关于本书的相关信息,包括勘误表、示例代码以及其他信息。本书的网站地址是:

http://www.oreilly.com/catalog/9781449304720/

中文书:

http://www.oreilly.com.cn/index.php?func=book&isbn=9787121140468

对于本书的评论和技术性的问题,请发送电子邮件到:

bookquestions@oreilly.com

关于本书的更多信息、会议、资源中心和网络,请访问以下网站:

http://www.oreilly.com

http://www.oreilly.com.cn

致谢

首先,特别感谢我的妻子 Sarah。在我忙于写作期间,她不仅照料一切(特别是照顾几个孩子),而且还充当了编辑的角色,用红笔给第一稿做了不少加工润色。以她优秀的写作功底,肯定提升了文章的可读性。非常高兴我能够写出一些能让你愿意看的东西来!

我想要感谢那些给我建议、评论,纠正书中错误的审稿人。你们的工作让本书更加完善,我打心眼儿里感激你们。Brian Dunn,还有 John Jackson——谢谢!

非常感谢我的编辑 Simon St. Laurent,他总是给我机会让我能写一些自己关心的主题,而且他是一位非常出色的编辑,平易近人。谢谢你对我的信任,让我再次为 O'Reilly Media 奋笔疾书。

最后,我要感谢作出贡献的其他所有人。感谢 O'Reilly Production Services 校对付出的心血,感谢 Adam Zaremba 在最后几分钟提出的修改建议。感谢 Karen 绘制了封面动物,感谢 David 把书稿排成了它应有的版式。还有,感谢 Robert 把我手绘的图形转换成了漂亮的插图。

我很荣幸能够写一篇针对 Web 的地理定位方面教程,整个写作的过程非常愉快,偶尔也会遇到点儿困难。但愿,你们喜欢!

目录

  • 版权声明
  • O'Reilly Media, Inc.介绍
  • HTML5 Geolocation
  • 前言
  • 第 1 章 路在何方
  • 第 2 章 地理定位:不仅是经纬度
  • 第 3 章 地理定位 API 编程
  • 第 4 章 地理定位和地图 API
  • 第 5 章 保存地理信息
  • 第 6 章 基于地理定位开发应用
  • HTML5:等轴实时游戏开发
  • 前言
  • 第 1 章 图形基础:画布与精灵
  • 第 2 章 理解等轴游戏
  • 第 3 章 游戏界面设计
  • 第 4 章 HTML5 声音及处理优化
  • 第 5 章 推向市场