基于HTML5Geolocation考勤管理系统方案_第1页
基于HTML5Geolocation考勤管理系统方案_第2页
基于HTML5Geolocation考勤管理系统方案_第3页
基于HTML5Geolocation考勤管理系统方案_第4页
基于HTML5Geolocation考勤管理系统方案_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PAGE- 64 - / NUMPAGES69摘 要 随着互联网技术的不断发展和计算机性能的不断提升,用户享受互联网的方式也开始不断的变化,越来越多的应用可以直接以浏览器打开的方式使用,数据则是存储在云端,更加的安全可靠,方便用户共享数据。在各种应用不断的趋于更加网络话的同时,一种新的技术标准也随之产生,那就是HTML5(HTML是一种标记语言也是一种标准,互联网开发居于此)。HTML5是近十年来Web(互联网)标准最巨大的飞跃,和以前的版本不同,HTML5并非仅仅用来表示Web容,它的使命是将Web带入一个成熟的应用平台,在这个平台上,视频、音频、图象和动画,以与同电脑的交互都被标准化。也

2、就是说HTML5是通过开放的技术和标准来实现一个无插件模式的富客户端,这个客户端可以在移动终端、PC(个人计算机)或者其他可以有网络的地方轻松的运行。所以此时研究HTML5,并且大胆的实践有着重要的意义。 本文完成了一个基于HTML5 Geolocation API的考勤管理系统软件的设计与实现。本文的研究工作主要是运用软件工程原理,对这个系统进行需求分析、设计、代码实现和测试。本文的前两部分介绍了课题背景和相关技术。在第三部分需求分析中,以用例模型为工具,分析了本系统的功能需求和非功能需求。第四部分介绍了本系统的设计与实现,是本文的重点,所有容都是围绕这个主题来展开论述的。在这一部分中,详细

3、介绍了基于基于HTML5 Geolocation API的考勤管理系统软件的设计、实现和各个过程中存在的问题与解决方法。本文的第五部分,完成了对该应用的测试,并列出了在测试过程中发现的一些不足。最后介绍了HTML5 Geolocation 应用的前景展望。 通过对基于Html5 Geolocation考勤管理系统开发过程的介绍,可以了解到一个HTML5应用的开发过程。近年来,由于HTML5 Geolocation定位迅速崛起,针对HTML5应用的开发将有着广阔的前景。关键词 HTML5 Geolocation 考勤ABSTRACTWith the continuous development

4、of Internet technology 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 o

5、f applications continue 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 r

6、epresent Web content, 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,

7、 the client can be 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 implem

8、entation. The research 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 f

9、unctional requirements 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 atte

10、ndance management 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 Html

11、5 Geolocation based 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 attendan

12、ce目 录TOC o 1-3 h u HYPERLINK l _Toc6327 前言 PAGEREF _Toc6327 - 1 - HYPERLINK l _Toc29566 第一章绪论 PAGEREF _Toc29566 - 2 - HYPERLINK l _Toc29042 第一节 课题的研究背景 PAGEREF _Toc29042 - 2 - HYPERLINK l _Toc24494 第二节 课题的研究目的和意义 PAGEREF _Toc24494 - 2 - HYPERLINK l _Toc25571 第二章 相关技术分析与介绍 PAGEREF _Toc25571 - 4 - HYP

13、ERLINK l _Toc5371 第一节 HTML5 PAGEREF _Toc5371 - 4 - HYPERLINK l _Toc2361 一、HTML5简介 PAGEREF _Toc2361 - 4 - HYPERLINK l _Toc5084 二、HTML5 Geolocation API 介绍 PAGEREF _Toc5084 - 4 - HYPERLINK l _Toc1040 第二节 HTML5 Geolocation API 的使用 PAGEREF _Toc1040 - 9 - HYPERLINK l _Toc28813 一、检查浏览器的支持特性 PAGEREF _Toc288

14、13 - 9 - HYPERLINK l _Toc27511 二、位置请求 PAGEREF _Toc27511 - 9 - HYPERLINK l _Toc4742 第三节 开发集成环境 PAGEREF _Toc4742 - 13 - HYPERLINK l _Toc2854 一、C# 简介 PAGEREF _Toc2854 - 13 - HYPERLINK l _Toc30797 二、系统架构:B/S架构 PAGEREF _Toc30797 - 15 - HYPERLINK l _Toc2673 三、数据库软件:SQL Server 2005 PAGEREF _Toc2673 - 16 -

15、HYPERLINK l _Toc27436 第四节 百度地图 PAGEREF _Toc27436 - 17 - HYPERLINK l _Toc22454 第三章 基于HTML5 Geolocation的考勤管理系统需求分析 PAGEREF _Toc22454 - 18 - HYPERLINK l _Toc10586 第一节 概述 PAGEREF _Toc10586 - 18 - HYPERLINK l _Toc25687 一、考勤管理 PAGEREF _Toc25687 - 19 - HYPERLINK l _Toc655 二、考勤查询 PAGEREF _Toc655 - 19 - HYPE

16、RLINK l _Toc23946 三、公 告 PAGEREF _Toc23946 - 19 - HYPERLINK l _Toc545 四、考勤报表 PAGEREF _Toc545 - 19 - HYPERLINK l _Toc12407 五、考勤设置 PAGEREF _Toc12407 - 19 - HYPERLINK l _Toc23318 第三节 非功能性需求 PAGEREF _Toc23318 - 20 - HYPERLINK l _Toc23681 一、环境需求 PAGEREF _Toc23681 - 20 - HYPERLINK l _Toc11739 二、界面需求 PAGERE

17、F _Toc11739 - 20 - HYPERLINK l _Toc27825 三、通用性需求 PAGEREF _Toc27825 - 20 - HYPERLINK l _Toc15473 四、可靠性需求 PAGEREF _Toc15473 - 20 - HYPERLINK l _Toc31130 五、可扩展性需求 PAGEREF _Toc31130 - 20 - HYPERLINK l _Toc2390 六、异常处理 PAGEREF _Toc2390 - 20 - HYPERLINK l _Toc24363 第四节 可行性分析 PAGEREF _Toc24363 - 21 - HYPERL

18、INK l _Toc32380 一、经济可行性分析 PAGEREF _Toc32380 - 21 - HYPERLINK l _Toc28238 二、运行可行性分析 PAGEREF _Toc28238 - 22 - HYPERLINK l _Toc25849 三、法律可行性分析 PAGEREF _Toc25849 - 22 - HYPERLINK l _Toc24646 第五节 本章小结 PAGEREF _Toc24646 - 23 - HYPERLINK l _Toc31590 第四章 基于HTML5 Geolocation考勤管理系统的设计 PAGEREF _Toc31590 - 24 -

19、 HYPERLINK l _Toc16931 第一节 功能框架设计 PAGEREF _Toc16931 - 24 - HYPERLINK l _Toc10243 一、系统总体结构设计 PAGEREF _Toc10243 - 24 - HYPERLINK l _Toc208 二、管理员管理模块功能结构 PAGEREF _Toc208 - 24 - HYPERLINK l _Toc27922 三、其它功能模块 PAGEREF _Toc27922 - 25 - HYPERLINK l _Toc17022 四、业务流程图 PAGEREF _Toc17022 - 26 - HYPERLINK l _To

20、c14611 五、E-R图 PAGEREF _Toc14611 - 26 - HYPERLINK l _Toc24699 六、用户管理表实体图与属性 PAGEREF _Toc24699 - 28 - HYPERLINK l _Toc14781 七、考勤查询表的实体图与属性 PAGEREF _Toc14781 - 28 - HYPERLINK l _Toc11448 第二节 系统功能详细设计 PAGEREF _Toc11448 - 29 - HYPERLINK l _Toc20461 一、数据库表的设计 PAGEREF _Toc20461 - 29 - HYPERLINK l _Toc18573

21、 二、登陆模块设计 PAGEREF _Toc18573 - 30 - HYPERLINK l _Toc29666 第三节 员工角色模块 PAGEREF _Toc29666 - 31 - HYPERLINK l _Toc15989 一、员工登录 PAGEREF _Toc15989 - 31 - HYPERLINK l _Toc5243 二、WEB考勤 PAGEREF _Toc5243 - 31 - HYPERLINK l _Toc24282 三、个人信息 PAGEREF _Toc24282 - 32 - HYPERLINK l _Toc4442 四、考勤记录 PAGEREF _Toc4442 -

22、 33 - HYPERLINK l _Toc8241 五、公告通知 PAGEREF _Toc8241 - 33 - HYPERLINK l _Toc12050 第四节 管理员角色模块 PAGEREF _Toc12050 - 34 - HYPERLINK l _Toc1263 一、考勤管理 PAGEREF _Toc1263 - 34 - HYPERLINK l _Toc7624 二、通知公告 PAGEREF _Toc7624 - 37 - HYPERLINK l _Toc24092 三、人事管理 PAGEREF _Toc24092 - 37 - HYPERLINK l _Toc11767 四、系

23、统设置 PAGEREF _Toc11767 - 38 - HYPERLINK l _Toc14225 第五章 系统维护和改进 PAGEREF _Toc14225 - 39 - HYPERLINK l _Toc27700 第一节 系统测试 PAGEREF _Toc27700 - 39 - HYPERLINK l _Toc25384 一、举例测试 PAGEREF _Toc25384 - 39 - HYPERLINK l _Toc25634 二、测试项目 PAGEREF _Toc25634 - 40 - HYPERLINK l _Toc614 三、项目测试方法 PAGEREF _Toc614 - 4

24、1 - HYPERLINK l _Toc3062 四、系统优势 PAGEREF _Toc3062 - 42 - HYPERLINK l _Toc10848 结 论 PAGEREF _Toc10848 - 43 - HYPERLINK l _Toc9537 参考文献 PAGEREF _Toc9537 - 45 - HYPERLINK l _Toc23537 附 录 PAGEREF _Toc23537 - 46 - HYPERLINK l _Toc1238 一、关键代码: PAGEREF _Toc1238 - 46 - HYPERLINK l _Toc6779 二、英文原文: PAGEREF _T

25、oc6779 - 55 - HYPERLINK l _Toc768 三、英文翻译: PAGEREF _Toc768 - 65 -前言随着互联网的不断发展,互联网对人们的生活也在不断地变化和加强,人们渐渐地已经开始习惯于互联网所带来的各类服务与应用,并且享受着它带来的便利和丰富。当然随着互联网的基础用户和开发者不断增多,人们不断地去创造和完善它的速度也越来越快,无论从技术层面还是商业层面,新的模式和方法层出不穷,整个行业新代不断加速,新的应用和新的公司不断地挑战着新的技术和新的模式,由于整个行业存在创业成本很低、技术成本门槛却较高等特点,大公司也不断地推动着新的技术,基于此来创建一定的技术壁垒,

26、同时基于此建立全新的服务和技术。但是毕竟整个互联网是一个开放的环境,大家需要一种标准,而不是一家独大的竞争下去,这样就一定会失去民心,所以 HTML5 这种更加新的标准和技术体系在不断地革新中发展壮大。HTML5 是近十年来 Web 标准发展巨大的一个跨越,与以前的版本相比较,HTML5不仅用来表示 Web 容,而是将 Web 引入一个比较成熟的应用平台,在这个平台上,视频、音频、图象和动画,以与标准化与电脑的交互。尽管 HTML5 的实现还有很长的路要走,但 HTML5 正在改变 Web。另外,目前的互联网不仅仅是传统意义上面的互联网,所有的传统应用和模式正在向着更加移动和便捷发展,人们可能

27、通过手机、平板电脑等各类移动设备来获取信息和使用更加丰富的应用,如物理位置定位信息等新的数据采集和多点触控、重力感应等新的交互方式的应用,未来必将也会改变人们生活的方方面面。HTML5 中也加入了以上各类新的元素和功能, 同时也考虑到了非健全人事使用互联网时可能带来的问题。 所以, 研究 HTML5 这种技术体系来尝试做一些应用是一个千载难逢的机遇,而基于这个变革的年代去使用类似的技术来创造更多新的应用更是能够改变这个世界的一次机会。该课题是基于 HTML5 来做一个最佳实践, 完成之前不可能使用 WEB 技术来完成的功能,性能照比之前的技术体系要高出很多,而且有足够的前瞻性和创新性。互联网和

28、其他的行业最大的区别就是这是一个创新驱动并且快速变化的行业,一种新的技术可能就会创造出新的应用、新的商业模式,该课题是基于 HTML5 技术在 Web 环境中实现的一个考勤系统,通过使用 HTML5中的 Geolocation来实现实时性,这无疑是对最新技术的一次最佳实践和学习,也是对自己的能力的一次历练。第一章绪论随着互联网技术和信息技术的日益成熟,人类社会开始进入信息时代。信息时代的到来给社会生活的各个方面带来了巨大的变化,这些变化同样也影响到了网络办公平台的建设。信息技术和信息系统几乎渗透到了网络办公的每一个细节,对网络办公平台的各个层次均产生了不容忽视的影响。第一节 课题的研究背景 随

29、着计算机技术的飞速发展,计算机在管理中的广泛应用,利用计算机实现基于HTML5 geolocation考勤管理势在必行。对于基于HTML5 geolocation考勤管理来说,其中会员管理等是在随时变化的。利用计算机支持完成基于HTML5 geolocation考勤管理事务,是适应现代企业制度要求的必要条件。然而基于HTML5 geolocation考勤管理是一项繁琐而又细致的工作,一般不允许出错,计算机进行管理工作,不仅能够保证信息核对准确无误,而且还可以利用计算机对各种信息进行有效统计处理。基于HTML5 geolocation考勤管理系统能够为管理员和用户提供充足的信息和快捷的查询手段。

30、使用计算机对基于HTML5 geolocation考勤进行管理,帮助用户更加快捷应用电脑搜寻所需相册信息,这些优点能够极提高查询的效率,同时,这也是移动客户服务管理科学化、正规化管理以与与世界先进管理技术接轨的重要条件。因此,建立起高效的基于HTML5 geolocation考勤管理系统,能真正提升信息应用的效益。第二节 课题的研究目的和意义 基于HTML5 geolocation考勤管理实质是信息技术的高效处理,以计算机为基础的现代信息处理的产生和发展,正是基于HTML5 geolocation考勤管理现代化的客观要求。随着计算机在中国的普遍应用,越来越多的基于HTML5 geolocati

31、on考勤管理者意识到基于HTML5 geolocation考勤管理系统对管理自身发展的重要作用,投入大量的人力、物力、财力进行基于HTML5 geolocation考勤管理系统的建设。 现代科技的飞速发展,基于HTML5 geolocation考勤管理系统处理从根本上可以为更多的管理者减少多方面的经济资源,在实际操作上也是提高用户与管理的效率捷径,能够很好地做到基于HTML5 geolocation考勤管理信息的有效共享和协同。可以说,有效的基于HTML5 geolocation考勤管理系统是实现良好的整合关系的重要保证。相关技术分析与介绍HTML5一、HTML5简介HTML标准从1999年1

32、2月发布的HTML4.01后,后继的HTML5和其它标准被束之高阁,为了推动Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group(Web超文本应用技术工作组 -WHATWG)的组织。WHATWG 致力于 Web 表单和应用程序,而W3C(World Wide Web Consortium,万维网联盟)专注于XHTML2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于

33、2007年被W3C接纳,并成立了新的 HTML 工作团队。HTML 5 的第一份正式草案已于2008年1月22日公布。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。2012年12月17日,万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5规已经正式定稿。根据W3C的发言稿称:“HTML5是开放的Web网络平台的奠基石。”支持Html5的浏览器包括Firefox(火狐浏览器),IE9与其更高版本,Chrome(谷歌浏览器),Safari,Opera等;国的傲游浏览器(Maxthon),以与基于IE或Chromium(Chrome的工程版或称实验

34、版)所推出的360浏览器、搜狗浏览器、 浏览器、猎豹浏览器等国产浏览器同样具备支持HTML5的能力。二、HTML5 Geolocation API 介绍地理位置(Geolocation)是HTML5的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用程序。1、HTML5 Geolocation API 使用概述HTML5 Geolocation API的使用方法。请求一个位置信息,如果用户同意,浏览器返回该位置信息,该位置是通过HTML5地理定位功能的底层设备(例如:笔记本电脑和手机)提供给浏览器的。位置由经度、纬度坐标和其他元素数据组成。有这些位置数据信息构建出位

35、置感知类应用程序。2、位置数据信息 位置信息由纬度、经度坐标和一些其他元数据组成。例如故宫的位置信息主要由一对纬度和经度坐标组成:纬度:北纬 39.9,经度:东经 116.4。经纬度坐标有两种表示方式:十进制格式(例如 39.9)和 DMS(Degree Minute Second,角度)格式(例如 39 54 20 )。HTML5 Geolocation API 返回的坐标格式为十进制格式。除了纬度和经度坐标,HTML5 Geolocation 还提供位置坐标的准确度。除此之外,它还会提供其他一些元数据,比如海拔、海拔准确度、行驶方向和速度等,具体情况取决于浏览器所在的硬件设备。3、位置信息

36、来源与比较 HTML5 Geolocationa API 不指定设备用哪种底层技术来定位应用程序的用户。它只用于检索位置信息的API,而且通过该API检索到的数据只具有某种程度的准确性。它并不保证设备返回的实际位置是精确的。位置信息一般从如下数据源获得: (1)IP 地址 (2)三维坐标 (3)GPS(Global Positioning System,全球定位系统) (4)Wi-Fi (5)手机信号 (6)用户自定义数据它们各有优缺点如表 1.1 所示,为了保证更高的准确度,许多设备使用多个数据源组合的方式。 IP地址地理定位数据。以前,基于IP地址的地理定位是获取位置的唯一方式,其返回的位

37、置信息通常并不靠谱。基于IP地理位置的定位方式是:自动查找用户的IP地址,然后检索其注册的物理地址。因此,如果用户的地址是ISP提供的,位置就会由服务器供应商的物理地址决定,而地址可能距离用户数千米。 GPS地理定位数据。能看到天空的地方,GPS就可以提供精确的定位结果。GPS定位是通过地球周围多个卫星的GPS卫星的信号实现的。GPS定位的时间比较长,所以不适合快速相应的应用程序。 Wi-Fi地理定位数据。基于Wi-Fi地理定位信息是通过三角距离计算得出,三角距离指的是用户当前位置到已知的多个Wi-Fi(大多是在城市)接入点的距离。与GPS不同的是,Wi-Fi在室也非常精确。 手机地理定位数据

38、。基于手机的地理定位信息是通过用户到一些基站的三角距离确定位置结果。经常与Wi-Fi和基于GPS的地理定位信息结合使用。 用户自定义的地理定位数据。除去通过编程计算出用户的位置外,也可以通过用户自定义其位置。应用程序可以允许用户输入他们的地址、邮政编码和其他的一些关于位置的详细信息。应用程序通过这些数据信息来提供位置的感知服务。表 1.1 位置信息获取方式对比数据源优点缺点IP 地址任何地方都可用在服务器端处理不精确(经常出错,一般精确到城市级)运算代价大GPS很精确定位时间长,耗电量大室效果差需要额外硬件设备支持Wi-Fi精确可在室使用简单、快捷在乡村这些 Wi-Fi 接入点少的地区无法使用

39、手机信号相当准确可在室使用简单、快捷需要能够访问手机或其 modem 设备用户自定义可获得比程序定位服务更准确的位置数据用户自行输入可能比自动检测更快可能很不准确,特别是当用户位置变更后4、浏览器支持情况各个浏览器对 HTML5 Geolocation 的支持程度不同,并且还在不断更新中。在 HTML5 的所有功能中,HTML5 Geolocation 是第一批被全部接受和实现的功能之一,相关规已经达到一个非常成熟的阶段,不大可能做太大改变。如表 2.2 所示,很多浏览器已经支持 HTML5 Geolocation:表 2. 2 浏览器对 HTML5 Geolocation 的支持情况浏览器支

40、持情况Firefox3.5 与以上版本支持Chrome在带有 Gears 的第 2 版 Chrome 中被支持Internet Explorer通过 Gears 插件支持Opera在版本 10 中支持Safari在版本 4 中支持以实现在 iPhone 上可用5、隐私机制 HTML5 Geolocation 规提供了一套保护用户隐私的机制。只有得到用户的许可,否者不可获取用户的地理位置。这个合理的隐私机制同样解释了用户一直对HTML5应用程序中的难题。从HTML5 Geolocation的例子中可以看到,通常会鼓励用户共享这些信息。例如:用户在咖啡厅喝咖啡,如果应用程序可以让他们得知该咖啡店附

41、近的商店在打折,那么用户就可以共享他们的位置信息是完全可以接受的。其中步骤如下:(1)用户浏览器打开应用程序的位置感应程序。 (2)应用程序WEB页面加载,通过Geolocation 函数调用请求。浏览器拦截请求,请求用户授权。如果同意继续执行,否则停止。 (3)浏览器从宿主设备中检索坐标信息。例如:IP地址,Wi-Fi或GPS坐标。浏览器部具有的功能。(4)浏览器将坐标发送给受信任的外部定位服务,返回一个详细的位置信息,病将该位置发回给HTML5 Geolocation 应用程序。6、隐私机制触发 触发访问使用HTML5 Geolocation API的页面时,会触发隐私保护机制。下图显示了

42、在Firefox3.5中触发隐私保护机制的页面:图2.1在Firefox3.5中触发隐私保护机制的页面: 程序调用HTML5 Geolocation代码时后出发这一机制。仅仅添加HTML5 Geolocation 代码,而不被任何方法调用,则不会触发隐私保护机制。只要所添加的HTML5 Geolocation代码被执行,浏览器就会提示应用程序需要共享他们的位置。执行HTML5 Geolocation 的方发很多,如调用navigation.geolocation.getCurrentPostion方法等。第二节 HTML5 Geolocation API 的使用本小节详细讨论HTML5 Geo

43、location API 的使用方法。通过创建一个简单的浏览器页面,让读者更加了解其使用方法。一、检查浏览器的支持特性 在调用HTML5 Geolocation API 函数前,需要确保支持所要完成的工作。在当前浏览器不支持的时候就可以提供一些代替文本,以提示用户升级所用的浏览器或者安装插件来增强现有浏览器的功能,以下代码是浏览器检查的一种途径。 清单1. 检查浏览器支持特性: function testSupport() if (navigator.geolocation) document.getElementById(“support”).innerHTML = 支持 HTML5 Geo

44、location。; else document.getElementById(“support”).innerHTML = 该浏览器不支持 HTML5 Geolocation !建议升级浏览器或安装插件(如 Gears)。; 在此例子中,testSupport函数测试了浏览器的支持情况,该函数功能是在调用该函数时候如果存在地理定位的对象,navigator.geolocation) 调用将返回该函数对象,否则触发错误。页面上会根据检测结果显示支持情况的提示信息。二、位置请求在 HTML5 Geolocation 功能中,位置请求有两种:单次定位请求重复性位置更新请求1、单次位置请求在许多应用

45、中,只检索或请求一次用户位置即可。例如前面提到的,午餐时间到了,要查询用户附近餐馆的特色菜与其价格和评论,就可以使用清单 2 所示的 HTML5 Geolocation API。清单 2. 单词定位请求 API Void getCurrentPosition(in PositionCallback successCallback, in optional PositionErrorCallback errorCallback, in optional PositionOptions options ); 该函数调用的详细分析。 首先,因这个函数是通过navigatar.geolocation对

46、象的调用。所以在本代码中需要爱获取次对象。因确保有一个后备函数,来对应不支持HTML5 Geolocation 的情况。这个函数接受一个必选参数和两个可选参数。函数参数successCallback为浏览器指明位置数据可用时应调用的函数。因为像获取位置数据这样的操作可能需要长时间才能完成,所以这个参数很重要。没有用户希望在检索位置时浏览器被锁定,也没有开发人员希望他的程序无限期暂停(特别是要成功取得位置信息,经常必须等待用户的许可)。successCallback是收到实际位置信息并进行处理的地方。跟绝大多数编程场景一样,最好提前准备出错处理。位置信息请求很可能因为一些不可控因素失败,对于这些

47、情况,你可能需要提供一个用于跟用户解释或者提示其重试的successCallback函数。虽然此函数时可选的,不过建议选用。最后,options对象可以调整HTML5 Geolocation()的javaScript函数,它使用最新的位置数据更新页面容。同样地,也创建了一个handleLocationError()函数来处理错误情况。接下来,我们将研究这些函数的细节,而请求访问用户位置的核心代码如下所示:Navigator.geolocation.getCurrentPosition(updateLocation,handleLocationionError);updateLocation()

48、函数 updateLocation()函数是做什么的呢?实际上非常简单。只要浏览器具备访问位置信息的条件,就会调用updateLocation()函数,该函数只接受一个参数:位置对象。这个对象包含坐标(corrds特性)和一个获取位置数据时的时间戳。在实际开发中不一定需要时间戳,重要的位置都包含在了coords特性中。坐标总是有多个特性,但是浏览器和用户硬件设备会决定这些特性值是都有意义。以下是 三个特性: (1)latitude(纬度) (2)Longitude(经度) (3)accuracy(准确度) 毋庸置疑,这些特性的数据时必须的。Latitude和longitude将包含HTML5

49、Geolocation服务测定得到最佳的十进制用户位置。 Accurarcy将以m为制定纬度和经度值与实际位置间的差距,置信度为95%。局限于HTML5Geolocation的实现方式,位置只能粗略的近似值。在呈现返回值钱请一定要检查返回值的准确度。如果推荐的所谓的“附件的”鞋店,其实要耗费用户几小时的路程,可能会产生意想不到的后果。 坐标还有一些其他特性,不能保证浏览器都为其提供支持,但如果不支持就会返回null: Latitude 用户位置的海拔高度,以m 为单位; altitudeAccuracy 海拔高度的准确度,也是以m为单位,如果不支持altitude特性也会返回null; Hea

50、ding 行进方向,相对于正北而言; Speed 地面速度,以m/s为单位。 除非确定用户的设备能够访问这些信息,否则建议应用程序不要过于依赖它们。全球定位设备可能提供这种细节信息,而网络三角定位则不会。现在,让我们了解一下updateLocation()函数的实现代码(参见代码清单3),该函数依据坐标信息执行具体的更新操作。清单 3. updateLocation()函数function updateLocation(position) var latitude = position.coords.latitude; var longitude = position.coords.longi

51、tude; var accuracy = position.coords.accuracy; document.getElementById(“纬度”).innerHTML = latitude; document.getElementById(“经度”).innerHTML = longitude; document.getElementById(“准确度”).innerHTML = accuracy + “米”; 清单 3 给出了 updateLocation() 函数的常用实现代码,该函数根据坐标信息执行具体的更新操作:用获得的位置信息分别更新 HTML 页面上三个空间元素的文本。可选参

52、数 handleLocationError 为浏览器指明出错处理函数。位置信息请求可能因为一些不可控因素失败,这时,您需要在这个函数中提供对用户的解释。幸运的是,该 API 已经定义了所有需要处理的错误情况的错误编号。错误编号 code 设置在错误对象中,错误对象作为 error 参数传递给错误处理程序。这些错误编号有: UNKNOWN_ERROR (0):不包括在其它错误编号中的错误,需要通过 message 参数查找错误的详细信息。PERMISSION_DENIED (1):用户拒绝浏览器获得其位置信息。POSITION_UNVAILABLE (2):尝试获取用户信息失败。TIMEOUT

53、(3):在 options 对象中设置了 timeout 值,尝试获取用户位置超时。在这些情况下,您可以通知用户应用程序运行出了什么问题,如清单 4 所示清单 4. 使用错误处理函数function handleLocationError(error) switch (error.code) case 0: updateStatus(“尝试获取您的位置信息时发生错误:” + error.message); break; case 1: updateStatus(“用户拒绝了获取位置信息请求。”); break; case 2: updateStatus(“浏览器无法获取您的位置信息。”); b

54、reak; case 3: updateStatus(“获取您位置信息超时。”); break; 可选参数 options 对象可以调整 HTML5 Geolocation 服务的数据收集方式。该对象有三个可选参数: enableHighAccuracy:如果启动该参数,浏览器会启动 HTML5 Geolocation 服务的高精确度模式,这将导致机器花费更多的时间和资源来确定位置,应谨慎使用。默认值为 false;timeout:单位为 ms,告诉浏览器获取当前位置信息所允许的最长时间。如果在这个时间段未完成,就会调用错误处理程序。默认值为 Infinity,即无穷大(无限制);maximu

55、mAge:以 ms 为单位,表示浏览器重新获取位置信息的时间间隔。默认值为 0,这意味着浏览器每次请求时必须立即重新计算位置。使用可选参数 options 更新我们的位置请求,让其包含一个使用 JSON 对象表示的可选参数,如下所示:清单 5. 包含 options 的更新位置请求 navigator.geolocation.getCurrentPosition(updateLocation, handleLocationError, timeout: 10000); 这个调用告诉 HTML5 Geolocation,当获取位置请求的处理时间超过 10s(10000ms)时触发错误处理程序,这

56、时,error code 应该是 3。3、重复性位置更新请求有时候,仅获取一次用户位置信息是不够的。比如用户正在移动,随着用户的移动,页面应该能够不断更新显示附近的餐馆信息,这样,所显示的餐馆信息才对用户有意义。幸运的是,HTML5 Geolocation 服务的设计者已经考虑到了这一点,应用程序可以使用如下 API 进行重复性位置更新请求,当监控到用户的位置发生变化时,HTML5 Geolocation 服务就会重新获取用户的位置信息,并调用 updateLocation() 函数处理新的数据,与时通知用户。清单 6. 重复性位置更新请求 APIvoid watchPosition(upda

57、teLocation, optional handleLocationError, optional options); 这个函数的参数跟前面提到的 getCurrentPosition 函数的参数一样,不再重复介绍。关闭更新也很简单,如果应用程序不需要再接收用户的位置更新消息,只需要使用 clearWatch() 函数。清单 7. watchPosition 和 clearWatch 的使用 var watchId = navigator.geolocation.watchPosition(updateLocation, handleLocationError); / 基于持续更新的位置信息

58、实现一些功能 / 停止接收位置更新消息 navigator.geolocation.clearWatch(watchId); 第三节 开发集成环境一、C# 简介C#是微软公司发布的一种面向对象的、运行于HYPERLINK :/baike.baidu /view/18370.htm t _blank .NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java

59、有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。C#最初它有个更酷的名字,叫做COOL。微软从1998年12月开始了COOL项目,直到2000年2月,COOL被正式更名为C#。在1998年,Delphi语言的设计者Hejlsberg带领着Microsoft公司的开发团队,开始了第一个版本C#语言的设计。在2000年9月,国际信息和通信系统标准化组织为C#语言定义了一个Microsoft公司建议的标准。最终C#语言在2001年得以正式发布。C#是一种安全的、稳定的、简单的、优雅的,由C和HYPERLI

60、NK :/baike.baidu /view/824.htm t _blank C+衍生出来的HYPERLINK :/baike.baidu /view/125370.htm t _blank 面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏以与不允许多重继承)。C#综合了HYPERLINK :/baike.baidu /view/3063.htm t _blank VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向HYPERLINK :/baike.baidu /view/379950.htm t _b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论