《基于HTMLGeolocation考勤管理系统.docx》由会员分享,可在线阅读,更多相关《基于HTMLGeolocation考勤管理系统.docx(76页珍藏版)》请在三一办公上搜索。
1、 摘 要 随着互联网技术的不断发展和计算机性能的不断提升,用户享受互联网的方式也开始不断的变化,越来越多的应用可以直接以浏览器打开的方式使用,数据则是存储在云端,更加的安全可靠,方便用户共享数据。在各种应用不断的趋于更加网络话的同时,一种新的技术标准也随之产生,那就是HTML5(HTML是一种标记语言也是一种标准,互联网开发居于此)。HTML5是近十年来Web(互联网)标准最巨大的飞跃,和以前的版本不同,HTML5并非仅仅用来表示Web内容,它的使命是将Web带入一个成熟的应用平台,在这个平台上,视频、音频、图象和动画,以及同电脑的交互都被标准化。也就是说HTML5是通过开放的技术和标准来实现
2、一个无插件模式的富客户端,这个客户端可以在移动终端、PC(个人计算机)或者其他可以有网络的地方轻松的运行。所以此时研究HTML5,并且大胆的实践有着重要的意义。 本文完成了一个基于HTML5 Geolocation API的考勤管理系统软件的设计与实现。本文的研究工作主要是运用软件工程原理,对这个系统进行需求分析、设计、代码实现和测试。本文的前两部分介绍了课题背景和相关技术。在第三部分需求分析中,以用例模型为工具,分析了本系统的功能需求和非功能需求。第四部分介绍了本系统的设计与实现,是本文的重点,所有内容都是围绕这个主题来展开论述的。在这一部分中,详细介绍了基于基于HTML5 Geolocat
3、ion API的考勤管理系统软件的设计、实现和各个过程中存在的问题与解决方法。本文的第五部分,完成了对该应用的测试,并列出了在测试过程中发现的一些不足。最后介绍了HTML5 Geolocation 应用的前景展望。 通过对基于Html5 Geolocation考勤管理系统开发过程的介绍,可以了解到一个HTML5应用的开发过程。近年来,由于HTML5 Geolocation定位迅速崛起,针对HTML5应用的开发将有着广阔的前景。【关键词】 HTML5 Geolocation 考勤IABSTRACTWith the continuous development of Internet techno
4、logy and computer performance continues to increase, users have begun to enjoy the way the Internet is constantly changing, more and more applications can be opened directly in the browsers use of the data is stored in the cloud, more safe, reliable, user-share data. In a variety of applications con
5、tinue to become more networks of the session and a new technical standards attendant that HTML5 (HTML is a markup language is a standard, Internet development living here). HTML5 is the decade Web (Internet) Standard greatest leap, and previous versions, HTML5 is not just used to represent Web conte
6、nt, its mission is to bring a mature Web application platform, on this platform, video , audio, images and animations, as well as interaction with the computer have been standardized. That HTML5 is through open technologies and standards to achieve a free plug-in model rich client, the client can be
7、 in the mobile terminal, PC (personal computer) or any other place where the network can be easily run. So in this case study HTML5, and bold practice of great significance. This completed a HTML5 Geolocation API-based time and attendance management system software design and implementation. The res
8、earch work is mainly using software engineering principle, this system needs analysis, design, code and test. The first two parts of this article describes the background and related technical issues. In the third part of the demand analysis, use case model as a tool to analyze the functional requir
9、ements of the system and non-functional requirements. The fourth section describes the design and implementation of this system is the focus of this article, all content is around this theme to expand discussed. In this section, described in detail based on HTML5 Geolocation API attendance managemen
10、t system software design, implementation, and various process problems and solutions. The fifth part of this article, complete the application of the test, the testing process and lists some of the deficiencies found. Finally introduces HTML5 Geolocation application prospect. By Html5 Geolocation ba
11、sed attendance management system development process is described, you can learn a HTML5 application development process. In recent years, the rapid rise of HTML5 Geolocation positioning for HTML5 application development will have a broad prospect.【Key words】 HTML5 Geolocation attendance目 录前 言- 1 -第
12、一章 绪论- 2 -第一节 课题的研究背景- 2 -第二节 课题的研究目的和意义- 2 -第二章 相关技术分析与介绍- 4 -第一节 HTML5- 4 -一、HTML5简介- 4 -二、HTML5 Geolocation API 介绍- 4 -第二节 HTML5 Geolocation API 的使用- 9 -一、检查浏览器的支持特性- 9 -二、位置请求- 9 -第三节 开发集成环境- 一三 -一、C# 简介- 一三 -二、系统架构:B/S架构- 一五 -三、数据库软件:SQL Server 2005- 16 -第四节 百度地图- 17 -第三章 基于HTML5 Geolocation的考勤
13、管理系统需求分析- 一八 -第一节 概述- 一八 -一、考勤管理- 19 -二、考勤查询- 19 -三、公 告- 19 -四、考勤报表- 19 -五、考勤设置- 19 -第三节 非功能性需求- 20 -一、环境需求- 20 -二、界面需求- 20 -三、通用性需求- 20 -四、可靠性需求- 20 -五、可扩展性需求- 20 -六、异常处理- 20 -第四节 可行性分析- 21 -一、经济可行性分析- 21 -二、运行可行性分析- 22 -三、法律可行性分析- 22 -第五节 本章小结- 23 -第四章 基于HTML5 Geolocation考勤管理系统的设计- 24 -第一节 功能框架设计-
14、 24 -一、系统总体结构设计- 24 -二、管理员管理模块功能结构- 24 -三、其它功能模块- 25 -四、业务流程图- 26 -五、E-R图- 26 -六、用户管理表实体图及属性- 28 -七、考勤查询表的实体图及属性- 28 -第二节 系统功能详细设计- 29 -一、数据库表的设计- 29 -二、登陆模块设计- 30 -第三节 员工角色模块- 31 -一、员工登录- 31 -二、WEB考勤- 31 -三、个人信息- 32 -四、考勤记录- 33 -五、公告通知- 33 -第四节 管理员角色模块- 34 -一、考勤管理- 34 -二、通知公告- 37 -三、人事管理- 37 -四、系统设
15、置- 38 -第五章 系统维护和改进- 39 -第一节 系统测试- 39 -一、举例测试- 39 -二、测试项目- 40 -三、项目测试方法- 41 -四、系统优势- 42 -结 论- 43 -参考文献- 45 -附 录- 46 -一、关键代码:- 46 -二、英文原文:- 55 -三、英文翻译:- 65 -V前 言 随着互联网的不断发展,互联网对人们的生活也在不断地变化和加强,人们渐渐地已经开始习惯于互联网所带来的各类服务与应用,并且享受着它带来的便利和丰富。当然随着互联网的基础用户和开发者不断增多,人们不断地去创造和完善它的速度也越来越快,无论从技术层面还是商业层面,新的模式和方法层出不穷
16、,整个行业新陈代谢不断加速,新的应用和新的公司不断地挑战着新的技术和新的模式,由于整个行业存在创业成本很低、技术成本门槛却较高等特点,大公司也不断地推动着新的技术,基于此来创建一定的技术壁垒,同时基于此建立全新的服务和技术。但是毕竟整个互联网是一个开放的环境,大家需要一种标准,而不是一家独大的竞争下去,这样就一定会失去民心,所以 HTML5 这种更加新的标准和技术体系在不断地革新中发展壮大。 HTML5 是近十年来 Web 标准发展巨大的一个跨越,与以前的版本相比较,HTML5不仅用来表示 Web 内容,而是将 Web 引入一个比较成熟的应用平台,在这个平台上,视频、音频、图象和动画,以及标准
17、化与电脑的交互。尽管 HTML5 的实现还有很长的路要走,但 HTML5 正在改变 Web。另外,目前的互联网不仅仅是传统意义上面的互联网,所有的传统应用和模式正在向着更加移动和便捷发展,人们可能通过手机、平板电脑等各类移动设备来获取信息和使用更加丰富的应用,如物理位置定位信息等新的数据采集和多点触控、重力感应等新的交互方式的应用,未来必将也会改变人们生活的方方面面。 HTML5 中也加入了以上各类新的元素和功能, 同时也考虑到了非健全人事使用互联网时可能带来的问题。 所以, 研究 HTML5 这种技术体系来尝试做一些应用是一个千载难逢的机遇,而基于这个变革的年代去使用类似的技术来创造更多新的
18、应用更是能够改变这个世界的一次机会。 该课题是基于 HTML5 来做一个最佳实践, 完成之前不可能使用 WEB 技术来完成的功能,性能照比之前的技术体系要高出很多,而且有足够的前瞻性和创新性。互联网和其他的行业最大的区别就是这是一个创新驱动并且快速变化的行业,一种新的技术可能就会创造出新的应用、新的商业模式,该课题是基于 HTML5 技术在 Web 环境中实现的一个考勤系统,通过使用 HTML5中的 Geolocation来实现实时性,这无疑是对最新技术的一次最佳实践和学习,也是对自己的能力的一次历练。第一章 绪论随着互联网技术和信息技术的日益成熟,人类社会开始进入信息时代。信息时代的到来给社
19、会生活的各个方面带来了巨大的变化,这些变化同样也影响到了网络办公平台的建设。信息技术和信息系统几乎渗透到了网络办公的每一个细节,对网络办公平台的各个层次均产生了不容忽视的影响。第一节 课题的研究背景 随着计算机技术的飞速发展,计算机在管理中的广泛应用,利用计算机实现基于HTML5 geolocation考勤管理势在必行。对于基于HTML5 geolocation考勤管理来说,其中会员管理等是在随时变化的。利用计算机支持完成基于HTML5 geolocation考勤管理事务,是适应现代企业制度要求的必要条件。然而基于HTML5 geolocation考勤管理是一项繁琐而又细致的工作,一般不允许出
20、错,计算机进行管理工作,不仅能够保证信息核对准确无误,而且还可以利用计算机对各种信息进行有效统计处理。基于HTML5 geolocation考勤管理系统能够为管理员和用户提供充足的信息和快捷的查询手段。使用计算机对基于HTML5 geolocation考勤进行管理,帮助用户更加快捷应用电脑搜寻所需相册信息,这些优点能够极大地提高查询的效率,同时,这也是移动客户服务管理科学化、正规化管理以及与世界先进管理技术接轨的重要条件。因此,建立起高效的基于HTML5 geolocation考勤管理系统,能真正提升信息应用的效益。第二节 课题的研究目的和意义 基于HTML5 geolocation考勤管理实
21、质是信息技术的高效处理,以计算机为基础的现代信息处理的产生和发展,正是基于HTML5 geolocation考勤管理现代化的客观要求。随着计算机在中国的普遍应用,越来越多的基于HTML5 geolocation考勤管理者意识到基于HTML5 geolocation考勤管理系统对管理自身发展的重要作用,投入大量的人力、物力、财力进行基于HTML5 geolocation考勤管理系统的建设。 现代科技的飞速发展,基于HTML5 geolocation考勤管理系统处理从根本上可以为更多的管理者减少多方面的经济资源,在实际操作上也是提高用户与管理的效率捷径,能够很好地做到基于HTML5 geoloca
22、tion考勤管理信息的有效共享和协同。可以说,有效的基于HTML5 geolocation考勤管理系统是实现良好的整合关系的重要保证。第2章 相关技术分析与介绍第1节 HTML5一、HTML5简介HTML标准从1999年12月发布的HTML4.01后,后继的HTML5和其它标准被束之高阁,为了推动Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group(Web超文本应用技术工作组 -WHATWG)的组织。WHATWG 致力于 Web 表单和应用程序,而W3C(World Wide Web Co
23、nsortium,万维网联盟)专注于XHTML2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的 HTML 工作团队。HTML 5 的第一份正式草案已于2008年1月22日公布。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。2012年12月17日,万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5规范已经正式定稿。根据W3C的发言稿称:“HTML5是开放的Web网络平台的奠基石。”
24、支持Html5的浏览器包括Firefox(火狐浏览器),IE9及其更高版本,Chrome(谷歌浏览器),Safari,Opera等;国内的傲游浏览器(Maxthon),以及基于IE或Chromium(Chrome的工程版或称实验版)所推出的360浏览器、搜狗浏览器、QQ浏览器、猎豹浏览器等国产浏览器同样具备支持HTML5的能力。 二、HTML5 Geolocation API 介绍地理位置(Geolocation)是HTML5的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用程序。1、HTML5 Geolocation API 使用概述HTML5 Geolocat
25、ion API的使用方法。请求一个位置信息,如果用户同意,浏览器返回该位置信息,该位置是通过HTML5地理定位功能的底层设备(例如:笔记本电脑和手机)提供给浏览器的。位置由经度、纬度坐标和其他元素数据组成。有这些位置数据信息构建出位置感知类应用程序。2、位置数据信息 位置信息由纬度、经度坐标和一些其他元数据组成。例如北京故宫的位置信息主要由一对纬度和经度坐标组成:纬度:北纬 39.9,经度:东经 116.4。经纬度坐标有两种表示方式:十进制格式(例如 39.9)和 DMS(Degree Minute Second,角度)格式(例如 39 54 20 )。HTML5 Geolocation AP
26、I 返回的坐标格式为十进制格式。除了纬度和经度坐标,HTML5 Geolocation 还提供位置坐标的准确度。除此之外,它还会提供其他一些元数据,比如海拔、海拔准确度、行驶方向和速度等,具体情况取决于浏览器所在的硬件设备。3、位置信息来源及比较 HTML5 Geolocationa API 不指定设备用哪种底层技术来定位应用程序的用户。它只用于检索位置信息的API,而且通过该API检索到的数据只具有某种程度的准确性。它并不保证设备返回的实际位置是精确的。 位置信息一般从如下数据源获得: (1)IP 地址 (2)三维坐标 (3)GPS(Global Positioning System,全球定
27、位系统) (4)Wi-Fi (5)手机信号 (6)用户自定义数据 它们各有优缺点如表 1.1 所示,为了保证更高的准确度,许多设备使用多个数据源组合的方式。 IP地址地理定位数据。以前,基于IP地址的地理定位是获取位置的唯一方式,其返回的位置信息通常并不靠谱。基于IP地理位置的定位方式是:自动查找用户的IP地址,然后检索其注册的物理地址。因此,如果用户的地址是ISP提供的,位置就会由服务器供应商的物理地址决定,而地址可能距离用户数千米。 GPS地理定位数据。能看到天空的地方,GPS就可以提供精确的定位结果。GPS定位是通过地球周围多个卫星的GPS卫星的信号实现的。GPS定位的时间比较长,所以不
28、适合快速相应的应用程序。 Wi-Fi地理定位数据。基于Wi-Fi地理定位信息是通过三角距离计算得出,三角距离指的是用户当前位置到已知的多个Wi-Fi(大多是在城市)接入点的距离。与GPS不同的是,Wi-Fi在室内也非常精确。 手机地理定位数据。基于手机的地理定位信息是通过用户到一些基站的三角距离确定位置结果。经常与Wi-Fi和基于GPS的地理定位信息结合使用。 用户自定义的地理定位数据。除去通过编程计算出用户的位置外,也可以通过用户自定义其位置。应用程序可以允许用户输入他们的地址、邮政编码和其他的一些关于位置的详细信息。应用程序通过这些数据信息来提供位置的感知服务。表 1.1 位置信息获取方式
29、对比数据源优点缺点IP 地址任何地方都可用在服务器端处理不精确(经常出错,一般精确到城市级)运算代价大GPS很精确定位时间长,耗电量大室内效果差需要额外硬件设备支持Wi-Fi精确可在室内使用简单、快捷在乡村这些 Wi-Fi 接入点少的地区无法使用手机信号相当准确可在室内使用简单、快捷需要能够访问手机或其 modem 设备用户自定义可获得比程序定位服务更准确的位置数据用户自行输入可能比自动检测更快可能很不准确,特别是当用户位置变更后4、浏览器支持情况各个浏览器对 HTML5 Geolocation 的支持程度不同,并且还在不断更新中。在 HTML5 的所有功能中,HTML5 Geolocatio
30、n 是第一批被全部接受和实现的功能之一,相关规范已经达到一个非常成熟的阶段,不大可能做太大改变。如表 2.2 所示,很多浏览器已经支持 HTML5 Geolocation:表 2. 2 浏览器对 HTML5 Geolocation 的支持情况浏览器支持情况Firefox3.5 及以上版本支持Chrome在带有 Gears 的第 2 版 Chrome 中被支持Internet Explorer通过 Gears 插件支持Opera在版本 10 中支持Safari在版本 4 中支持以实现在 iPhone 上可用5、隐私机制 HTML5 Geolocation 规范提供了一套保护用户隐私的机制。只有得
31、到用户的许可,否者不可获取用户的地理位置。这个合理的隐私机制同样解释了用户一直对HTML5应用程序中的难题。从HTML5 Geolocation的例子中可以看到,通常会鼓励用户共享这些信息。例如:用户在咖啡厅喝咖啡,如果应用程序可以让他们得知该咖啡店附近的商店在打折,那么用户就可以共享他们的位置信息是完全可以接受的。其中步骤如下:(1)用户浏览器打开应用程序的位置感应程序。 (2)应用程序WEB页面加载,通过Geolocation 函数调用请求。浏览器拦截请求,请求用户授权。如果同意继续执行,否则停止。 (3)浏览器从宿主设备中检索坐标信息。例如:IP地址,Wi-Fi或GPS坐标。浏览器内部具
32、有的功能。(4)浏览器将坐标发送给受信任的外部定位服务,返回一个详细的位置信息,病将该位置发回给HTML5 Geolocation 应用程序。6、隐私机制触发 触发访问使用HTML5 Geolocation API的页面时,会触发隐私保护机制。下图显示了在Firefox3.5中触发隐私保护机制的页面:图2.1在Firefox3.5中触发隐私保护机制的页面: 程序调用HTML5 Geolocation代码时后出发这一机制。仅仅添加HTML5 Geolocation 代码,而不被任何方法调用,则不会触发隐私保护机制。只要所添加的HTML5 Geolocation代码被执行,浏览器就会提示应用程序需
33、要共享他们的位置。执行HTML5 Geolocation 的方发很多,如调用navigation.geolocation.getCurrentPostion方法等。第二节 HTML5 Geolocation API 的使用本小节详细讨论HTML5 Geolocation API 的使用方法。通过创建一个简单的浏览器页面,让读者更加了解其使用方法。一、检查浏览器的支持特性 在调用HTML5 Geolocation API 函数前,需要确保支持所要完成的工作。在当前浏览器不支持的时候就可以提供一些代替文本,以提示用户升级所用的浏览器或者安装插件来增强现有浏览器的功能,以下代码是浏览器检查的一种途径
34、。 清单1. 检查浏览器支持特性: function testSupport() if (navigator.geolocation) document.getElementById(“support”).innerHTML = 支持 HTML5 Geolocation。; else document.getElementById(“support”).innerHTML = 该浏览器不支持 HTML5 Geolocation !建议升级浏览器或安装插件(如 Gears)。; 在此例子中,testSupport函数测试了浏览器的支持情况,该函数功能是在调用该函数时候如果存在地理定位的对象,na
35、vigator.geolocation) 调用将返回该函数对象,否则触发错误。页面上会根据检测结果显示支持情况的提示信息。二、位置请求在 HTML5 Geolocation 功能中,位置请求有两种:单次定位请求重复性位置更新请求1、单次位置请求在许多应用中,只检索或请求一次用户位置即可。例如前面提到的,午餐时间到了,要查询用户附近餐馆的特色菜及其价格和评论,就可以使用清单 2 所示的 HTML5 Geolocation API。 清单 2. 单词定位请求 API Void getCurrentPosition(in PositionCallback successCallback, in op
36、tional PositionErrorCallback errorCallback, in optional PositionOptions options ); 该函数调用的详细分析。 首先,因这个函数是通过navigatar.geolocation对象的调用。所以在本代码中需要爱获取次对象。因确保有一个后备函数,来对应不支持HTML5 Geolocation 的情况。这个函数接受一个必选参数和两个可选参数。函数参数successCallback为浏览器指明位置数据可用时应调用的函数。因为像获取位置数据这样的操作可能需要长时间才能完成,所以这个参数很重要。没有用户希望在检索位置时浏览器被锁
37、定,也没有开发人员希望他的程序无限期暂停(特别是要成功取得位置信息,经常必须等待用户的许可)。successCallback是收到实际位置信息并进行处理的地方。跟绝大多数编程场景一样,最好提前准备出错处理。位置信息请求很可能因为一些不可控因素失败,对于这些情况,你可能需要提供一个用于跟用户解释或者提示其重试的successCallback函数。虽然此函数时可选的,不过建议选用。最后,options对象可以调整HTML5 Geolocation()的javaScript函数,它使用最新的位置数据更新页面内容。同样地,也创建了一个handleLocationError()函数来处理错误情况。接下来
38、,我们将研究这些函数的细节,而请求访问用户位置的核心代码如下所示:Navigator.geolocation.getCurrentPosition(updateLocation,handleLocationionError);updateLocation()函数 updateLocation()函数是做什么的呢?实际上非常简单。只要浏览器具备访问位置信息的条件,就会调用updateLocation()函数,该函数只接受一个参数:位置对象。这个对象包含坐标(corrds特性)和一个获取位置数据时的时间戳。在实际开发中不一定需要时间戳,重要的位置都包含在了coords特性中。坐标总是有多个特性,但
39、是浏览器和用户硬件设备会决定这些特性值是都有意义。以下是 三个特性: (1)latitude(纬度) (2)Longitude(经度) (3)accuracy(准确度) 毋庸置疑,这些特性的数据时必须的。Latitude和longitude将包含HTML5 Geolocation服务测定得到最佳的十进制用户位置。 Accurarcy将以m为制定纬度和经度值与实际位置间的差距,置信度为95%。局限于HTML5Geolocation的实现方式,位置只能粗略的近似值。在呈现返回值钱请一定要检查返回值的准确度。如果推荐的所谓的“附件的”鞋店,其实要耗费用户几小时的路程,可能会产生意想不到的后果。 坐标
40、还有一些其他特性,不能保证浏览器都为其提供支持,但如果不支持就会返回null: Latitude 用户位置的海拔高度,以m 为单位; altitudeAccuracy 海拔高度的准确度,也是以m为单位,如果不支持altitude特性也会返回null; Heading 行进方向,相对于正北而言; Speed 地面速度,以m/s为单位。 除非确定用户的设备能够访问这些信息,否则建议应用程序不要过于依赖它们。全球定位设备可能提供这种细节信息,而网络三角定位则不会。现在,让我们了解一下updateLocation()函数的实现代码(参见代码清单3),该函数依据坐标信息执行具体的更新操作。 清单 3.
41、updateLocation()函数function updateLocation(position) var latitude = position.coords.latitude; var longitude = position.coords.longitude; var accuracy = position.coords.accuracy; document.getElementById(“纬度”).innerHTML = latitude; document.getElementById(“经度”).innerHTML = longitude; document.getElemen
42、tById(“准确度”).innerHTML = accuracy + “米”; 清单 3 给出了 updateLocation() 函数的常用实现代码,该函数根据坐标信息执行具体的更新操作:用获得的位置信息分别更新 HTML 页面上三个空间元素的文本。 可选参数 handleLocationError 为浏览器指明出错处理函数。位置信息请求可能因为一些不可控因素失败,这时,您需要在这个函数中提供对用户的解释。幸运的是,该 API 已经定义了所有需要处理的错误情况的错误编号。错误编号 code 设置在错误对象中,错误对象作为 error 参数传递给错误处理程序。这些错误编号有: UNKNOWN
43、_ERROR (0):不包括在其它错误编号中的错误,需要通过 message 参数查找错误的详细信息。 PERMISSION_DENIED (1):用户拒绝浏览器获得其位置信息。 POSITION_UNVAILABLE (2):尝试获取用户信息失败。 TIMEOUT (3):在 options 对象中设置了 timeout 值,尝试获取用户位置超时。在这些情况下,您可以通知用户应用程序运行出了什么问题,如清单 4 所示 清单 4. 使用错误处理函数function handleLocationError(error) switch (error.code) case 0: updateStat
44、us(“尝试获取您的位置信息时发生错误:” + error.message); break; case 1: updateStatus(“用户拒绝了获取位置信息请求。”); break; case 2: updateStatus(“浏览器无法获取您的位置信息。”); break; case 3: updateStatus(“获取您位置信息超时。”); break; 可选参数 options 对象可以调整 HTML5 Geolocation 服务的数据收集方式。该对象有三个可选参数: enableHighAccuracy:如果启动该参数,浏览器会启动 HTML5 Geolocation 服务的高
45、精确度模式,这将导致机器花费更多的时间和资源来确定位置,应谨慎使用。默认值为 false;timeout:单位为 ms,告诉浏览器获取当前位置信息所允许的最长时间。如果在这个时间段内未完成,就会调用错误处理程序。默认值为 Infinity,即无穷大(无限制);maximumAge:以 ms 为单位,表示浏览器重新获取位置信息的时间间隔。默认值为 0,这意味着浏览器每次请求时必须立即重新计算位置。使用可选参数 options 更新我们的位置请求,让其包含一个使用 JSON 对象表示的可选参数,如下所示: 清单 5. 包含 options 的更新位置请求 navigator.geolocation
46、.getCurrentPosition(updateLocation, handleLocationError, timeout: 10000); 这个调用告诉 HTML5 Geolocation,当获取位置请求的处理时间超过 10s(10000ms)时触发错误处理程序,这时,error code 应该是 3。3、重复性位置更新请求有时候,仅获取一次用户位置信息是不够的。比如用户正在移动,随着用户的移动,页面应该能够不断更新显示附近的餐馆信息,这样,所显示的餐馆信息才对用户有意义。幸运的是,HTML5 Geolocation 服务的设计者已经考虑到了这一点,应用程序可以使用如下 API 进行重复性位置更新请求,当监控到用户的位置发生