版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 PAGE- 64 - / NUMPAGES69摘 要 隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和計算機(jī)性能的不斷提升,用戶享受互聯(lián)網(wǎng)的方式也開始不斷的變化,越來越多的應(yīng)用可以直接以瀏覽器打開的方式使用,數(shù)據(jù)則是存儲在云端,更加的安全可靠,方便用戶共享數(shù)據(jù)。在各種應(yīng)用不斷的趨于更加網(wǎng)絡(luò)話的同時,一種新的技術(shù)標(biāo)準(zhǔn)也隨之產(chǎn)生,那就是HTML5(HTML是一種標(biāo)記語言也是一種標(biāo)準(zhǔn),互聯(lián)網(wǎng)開發(fā)居于此)。HTML5是近十年來Web(互聯(lián)網(wǎng))標(biāo)準(zhǔn)最巨大的飛躍,和以前的版本不同,HTML5并非僅僅用來表示W(wǎng)eb容,它的使命是將Web帶入一個成熟的應(yīng)用平臺,在這個平臺上,視頻、音頻、圖象和動畫,以與同電腦的交互都被標(biāo)準(zhǔn)化。也
2、就是說HTML5是通過開放的技術(shù)和標(biāo)準(zhǔn)來實現(xiàn)一個無插件模式的富客戶端,這個客戶端可以在移動終端、PC(個人計算機(jī))或者其他可以有網(wǎng)絡(luò)的地方輕松的運(yùn)行。所以此時研究HTML5,并且大膽的實踐有著重要的意義。 本文完成了一個基于HTML5 Geolocation API的考勤管理系統(tǒng)軟件的設(shè)計與實現(xiàn)。本文的研究工作主要是運(yùn)用軟件工程原理,對這個系統(tǒng)進(jìn)行需求分析、設(shè)計、代碼實現(xiàn)和測試。本文的前兩部分介紹了課題背景和相關(guān)技術(shù)。在第三部分需求分析中,以用例模型為工具,分析了本系統(tǒng)的功能需求和非功能需求。第四部分介紹了本系統(tǒng)的設(shè)計與實現(xiàn),是本文的重點,所有容都是圍繞這個主題來展開論述的。在這一部分中,詳細(xì)
3、介紹了基于基于HTML5 Geolocation API的考勤管理系統(tǒng)軟件的設(shè)計、實現(xiàn)和各個過程中存在的問題與解決方法。本文的第五部分,完成了對該應(yīng)用的測試,并列出了在測試過程中發(fā)現(xiàn)的一些不足。最后介紹了HTML5 Geolocation 應(yīng)用的前景展望。 通過對基于Html5 Geolocation考勤管理系統(tǒng)開發(fā)過程的介紹,可以了解到一個HTML5應(yīng)用的開發(fā)過程。近年來,由于HTML5 Geolocation定位迅速崛起,針對HTML5應(yīng)用的開發(fā)將有著廣闊的前景。關(guān)鍵詞 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 第一節(jié) 課題的研究背景 PAGEREF _Toc29042 - 2 - HYPERLINK l _Toc24494 第二節(jié) 課題的研究目的和意義 PAGEREF _Toc24494 - 2 - HYPERLINK l _Toc25571 第二章 相關(guān)技術(shù)分析與介紹 PAGEREF _Toc25571 - 4 - HYP
13、ERLINK l _Toc5371 第一節(jié) HTML5 PAGEREF _Toc5371 - 4 - HYPERLINK l _Toc2361 一、HTML5簡介 PAGEREF _Toc2361 - 4 - HYPERLINK l _Toc5084 二、HTML5 Geolocation API 介紹 PAGEREF _Toc5084 - 4 - HYPERLINK l _Toc1040 第二節(jié) HTML5 Geolocation API 的使用 PAGEREF _Toc1040 - 9 - HYPERLINK l _Toc28813 一、檢查瀏覽器的支持特性 PAGEREF _Toc288
14、13 - 9 - HYPERLINK l _Toc27511 二、位置請求 PAGEREF _Toc27511 - 9 - HYPERLINK l _Toc4742 第三節(jié) 開發(fā)集成環(huán)境 PAGEREF _Toc4742 - 13 - HYPERLINK l _Toc2854 一、C# 簡介 PAGEREF _Toc2854 - 13 - HYPERLINK l _Toc30797 二、系統(tǒng)架構(gòu):B/S架構(gòu) PAGEREF _Toc30797 - 15 - HYPERLINK l _Toc2673 三、數(shù)據(jù)庫軟件:SQL Server 2005 PAGEREF _Toc2673 - 16 -
15、HYPERLINK l _Toc27436 第四節(jié) 百度地圖 PAGEREF _Toc27436 - 17 - HYPERLINK l _Toc22454 第三章 基于HTML5 Geolocation的考勤管理系統(tǒng)需求分析 PAGEREF _Toc22454 - 18 - HYPERLINK l _Toc10586 第一節(jié) 概述 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 五、考勤設(shè)置 PAGEREF _Toc12407 - 19 - HYPERLINK l _Toc23318 第三節(jié) 非功能性需求 PAGEREF _Toc23318 - 20 - HYPERLINK l _Toc23681 一、環(huán)境需求 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 五、可擴(kuò)展性需求 PAGEREF _Toc31130 - 20 - HYPERLINK l _Toc2390 六、異常處理 PAGEREF _Toc2390 - 20 - HYPERLINK l _Toc24363 第四節(jié) 可行性分析 PAGEREF _Toc24363 - 21 - HYPERL
18、INK l _Toc32380 一、經(jīng)濟(jì)可行性分析 PAGEREF _Toc32380 - 21 - HYPERLINK l _Toc28238 二、運(yùn)行可行性分析 PAGEREF _Toc28238 - 22 - HYPERLINK l _Toc25849 三、法律可行性分析 PAGEREF _Toc25849 - 22 - HYPERLINK l _Toc24646 第五節(jié) 本章小結(jié) PAGEREF _Toc24646 - 23 - HYPERLINK l _Toc31590 第四章 基于HTML5 Geolocation考勤管理系統(tǒng)的設(shè)計 PAGEREF _Toc31590 - 24 -
19、 HYPERLINK l _Toc16931 第一節(jié) 功能框架設(shè)計 PAGEREF _Toc16931 - 24 - HYPERLINK l _Toc10243 一、系統(tǒng)總體結(jié)構(gòu)設(shè)計 PAGEREF _Toc10243 - 24 - HYPERLINK l _Toc208 二、管理員管理模塊功能結(jié)構(gòu) PAGEREF _Toc208 - 24 - HYPERLINK l _Toc27922 三、其它功能模塊 PAGEREF _Toc27922 - 25 - HYPERLINK l _Toc17022 四、業(yè)務(wù)流程圖 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 第二節(jié) 系統(tǒng)功能詳細(xì)設(shè)計 PAGEREF _Toc11448 - 29 - HYPERLINK l _Toc20461 一、數(shù)據(jù)庫表的設(shè)計 PAGEREF _Toc20461 - 29 - HYPERLINK l _Toc18573
21、 二、登陸模塊設(shè)計 PAGEREF _Toc18573 - 30 - HYPERLINK l _Toc29666 第三節(jié) 員工角色模塊 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 第四節(jié) 管理員角色模塊 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、統(tǒng)設(shè)置 PAGEREF _Toc11767 - 38 - HYPERLINK l _Toc14225 第五章 系統(tǒng)維護(hù)和改進(jìn) PAGEREF _Toc14225 - 39 - HYPERLINK l _Toc27700 第一節(jié) 系統(tǒng)測試 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 四、系統(tǒng)優(yōu)勢 PAGEREF _Toc3062 - 42 - HYPERLINK l _Toc10848 結(jié) 論 PAGEREF _Toc10848 - 43 - HYPERLINK l _Toc9537 參考文獻(xiàn) PAGEREF _Toc9537 - 45 - HYPERLINK l _Toc23537 附 錄 PAGEREF _Toc23537 - 46 - HYPERLINK l _Toc1238 一、關(guān)鍵代碼: PAGEREF _Toc1238 - 46 - HYPERLINK l _Toc6779 二、英文原文: PAGEREF _T
25、oc6779 - 55 - HYPERLINK l _Toc768 三、英文翻譯: PAGEREF _Toc768 - 65 -前言隨著互聯(lián)網(wǎng)的不斷發(fā)展,互聯(lián)網(wǎng)對人們的生活也在不斷地變化和加強(qiáng),人們漸漸地已經(jīng)開始習(xí)慣于互聯(lián)網(wǎng)所帶來的各類服務(wù)與應(yīng)用,并且享受著它帶來的便利和豐富。當(dāng)然隨著互聯(lián)網(wǎng)的基礎(chǔ)用戶和開發(fā)者不斷增多,人們不斷地去創(chuàng)造和完善它的速度也越來越快,無論從技術(shù)層面還是商業(yè)層面,新的模式和方法層出不窮,整個行業(yè)新代不斷加速,新的應(yīng)用和新的公司不斷地挑戰(zhàn)著新的技術(shù)和新的模式,由于整個行業(yè)存在創(chuàng)業(yè)成本很低、技術(shù)成本門檻卻較高等特點,大公司也不斷地推動著新的技術(shù),基于此來創(chuàng)建一定的技術(shù)壁壘,
26、同時基于此建立全新的服務(wù)和技術(shù)。但是畢竟整個互聯(lián)網(wǎng)是一個開放的環(huán)境,大家需要一種標(biāo)準(zhǔn),而不是一家獨(dú)大的競爭下去,這樣就一定會失去民心,所以 HTML5 這種更加新的標(biāo)準(zhǔn)和技術(shù)體系在不斷地革新中發(fā)展壯大。HTML5 是近十年來 Web 標(biāo)準(zhǔn)發(fā)展巨大的一個跨越,與以前的版本相比較,HTML5不僅用來表示 Web 容,而是將 Web 引入一個比較成熟的應(yīng)用平臺,在這個平臺上,視頻、音頻、圖象和動畫,以與標(biāo)準(zhǔn)化與電腦的交互。盡管 HTML5 的實現(xiàn)還有很長的路要走,但 HTML5 正在改變 Web。另外,目前的互聯(lián)網(wǎng)不僅僅是傳統(tǒng)意義上面的互聯(lián)網(wǎng),所有的傳統(tǒng)應(yīng)用和模式正在向著更加移動和便捷發(fā)展,人們可能
27、通過手機(jī)、平板電腦等各類移動設(shè)備來獲取信息和使用更加豐富的應(yīng)用,如物理位置定位信息等新的數(shù)據(jù)采集和多點觸控、重力感應(yīng)等新的交互方式的應(yīng)用,未來必將也會改變?nèi)藗兩畹姆椒矫婷?。HTML5 中也加入了以上各類新的元素和功能, 同時也考慮到了非健全人事使用互聯(lián)網(wǎng)時可能帶來的問題。 所以, 研究 HTML5 這種技術(shù)體系來嘗試做一些應(yīng)用是一個千載難逢的機(jī)遇,而基于這個變革的年代去使用類似的技術(shù)來創(chuàng)造更多新的應(yīng)用更是能夠改變這個世界的一次機(jī)會。該課題是基于 HTML5 來做一個最佳實踐, 完成之前不可能使用 WEB 技術(shù)來完成的功能,性能照比之前的技術(shù)體系要高出很多,而且有足夠的前瞻性和創(chuàng)新性?;ヂ?lián)網(wǎng)和
28、其他的行業(yè)最大的區(qū)別就是這是一個創(chuàng)新驅(qū)動并且快速變化的行業(yè),一種新的技術(shù)可能就會創(chuàng)造出新的應(yīng)用、新的商業(yè)模式,該課題是基于 HTML5 技術(shù)在 Web 環(huán)境中實現(xiàn)的一個考勤系統(tǒng),通過使用 HTML5中的 Geolocation來實現(xiàn)實時性,這無疑是對最新技術(shù)的一次最佳實踐和學(xué)習(xí),也是對自己的能力的一次歷練。第一章緒論隨著互聯(lián)網(wǎng)技術(shù)和信息技術(shù)的日益成熟,人類社會開始進(jìn)入信息時代。信息時代的到來給社會生活的各個方面帶來了巨大的變化,這些變化同樣也影響到了網(wǎng)絡(luò)辦公平臺的建設(shè)。信息技術(shù)和信息系統(tǒng)幾乎滲透到了網(wǎng)絡(luò)辦公的每一個細(xì)節(jié),對網(wǎng)絡(luò)辦公平臺的各個層次均產(chǎn)生了不容忽視的影響。第一節(jié) 課題的研究背景 隨
29、著計算機(jī)技術(shù)的飛速發(fā)展,計算機(jī)在管理中的廣泛應(yīng)用,利用計算機(jī)實現(xiàn)基于HTML5 geolocation考勤管理勢在必行。對于基于HTML5 geolocation考勤管理來說,其中會員管理等是在隨時變化的。利用計算機(jī)支持完成基于HTML5 geolocation考勤管理事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求的必要條件。然而基于HTML5 geolocation考勤管理是一項繁瑣而又細(xì)致的工作,一般不允許出錯,計算機(jī)進(jìn)行管理工作,不僅能夠保證信息核對準(zhǔn)確無誤,而且還可以利用計算機(jī)對各種信息進(jìn)行有效統(tǒng)計處理?;贖TML5 geolocation考勤管理系統(tǒng)能夠為管理員和用戶提供充足的信息和快捷的查詢手段。
30、使用計算機(jī)對基于HTML5 geolocation考勤進(jìn)行管理,幫助用戶更加快捷應(yīng)用電腦搜尋所需相冊信息,這些優(yōu)點能夠極提高查詢的效率,同時,這也是移動客戶服務(wù)管理科學(xué)化、正規(guī)化管理以與與世界先進(jìn)管理技術(shù)接軌的重要條件。因此,建立起高效的基于HTML5 geolocation考勤管理系統(tǒng),能真正提升信息應(yīng)用的效益。第二節(jié) 課題的研究目的和意義 基于HTML5 geolocation考勤管理實質(zhì)是信息技術(shù)的高效處理,以計算機(jī)為基礎(chǔ)的現(xiàn)代信息處理的產(chǎn)生和發(fā)展,正是基于HTML5 geolocation考勤管理現(xiàn)代化的客觀要求。隨著計算機(jī)在中國的普遍應(yīng)用,越來越多的基于HTML5 geolocati
31、on考勤管理者意識到基于HTML5 geolocation考勤管理系統(tǒng)對管理自身發(fā)展的重要作用,投入大量的人力、物力、財力進(jìn)行基于HTML5 geolocation考勤管理系統(tǒng)的建設(shè)。 現(xiàn)代科技的飛速發(fā)展,基于HTML5 geolocation考勤管理系統(tǒng)處理從根本上可以為更多的管理者減少多方面的經(jīng)濟(jì)資源,在實際操作上也是提高用戶與管理的效率捷徑,能夠很好地做到基于HTML5 geolocation考勤管理信息的有效共享和協(xié)同。可以說,有效的基于HTML5 geolocation考勤管理系統(tǒng)是實現(xiàn)良好的整合關(guān)系的重要保證。相關(guān)技術(shù)分析與介紹HTML5一、HTML5簡介HTML標(biāo)準(zhǔn)從1999年1
32、2月發(fā)布的HTML4.01后,后繼的HTML5和其它標(biāo)準(zhǔn)被束之高閣,為了推動Web標(biāo)準(zhǔn)化運(yùn)動的發(fā)展,一些公司聯(lián)合起來,成立了一個叫做 Web Hypertext Application Technology Working Group(Web超文本應(yīng)用技術(shù)工作組 -WHATWG)的組織。WHATWG 致力于 Web 表單和應(yīng)用程序,而W3C(World Wide Web Consortium,萬維網(wǎng)聯(lián)盟)專注于XHTML2.0。在 2006 年,雙方?jīng)Q定進(jìn)行合作,來創(chuàng)建一個新版本的 HTML。HTML5草案的前身名為 Web Applications 1.0,于2004年被WHATWG提出,于
33、2007年被W3C接納,并成立了新的 HTML 工作團(tuán)隊。HTML 5 的第一份正式草案已于2008年1月22日公布。HTML5 仍處于完善之中。然而,大部分現(xiàn)代瀏覽器已經(jīng)具備了某些 HTML5 支持。2012年12月17日,萬維網(wǎng)聯(lián)盟(W3C)正式宣布凝結(jié)了大量網(wǎng)絡(luò)工作者心血的HTML5規(guī)已經(jīng)正式定稿。根據(jù)W3C的發(fā)言稿稱:“HTML5是開放的Web網(wǎng)絡(luò)平臺的奠基石。”支持Html5的瀏覽器包括Firefox(火狐瀏覽器),IE9與其更高版本,Chrome(谷歌瀏覽器),Safari,Opera等;國的傲游瀏覽器(Maxthon),以與基于IE或Chromium(Chrome的工程版或稱實驗
34、版)所推出的360瀏覽器、搜狗瀏覽器、 瀏覽器、獵豹瀏覽器等國產(chǎn)瀏覽器同樣具備支持HTML5的能力。二、HTML5 Geolocation API 介紹地理位置(Geolocation)是HTML5的重要特性之一,提供了確定用戶位置的功能,借助這個特性能夠開發(fā)基于位置信息的應(yīng)用程序。1、HTML5 Geolocation API 使用概述HTML5 Geolocation API的使用方法。請求一個位置信息,如果用戶同意,瀏覽器返回該位置信息,該位置是通過HTML5地理定位功能的底層設(shè)備(例如:筆記本電腦和手機(jī))提供給瀏覽器的。位置由經(jīng)度、緯度坐標(biāo)和其他元素數(shù)據(jù)組成。有這些位置數(shù)據(jù)信息構(gòu)建出位
35、置感知類應(yīng)用程序。2、位置數(shù)據(jù)信息 位置信息由緯度、經(jīng)度坐標(biāo)和一些其他元數(shù)據(jù)組成。例如故宮的位置信息主要由一對緯度和經(jīng)度坐標(biāo)組成:緯度:北緯 39.9,經(jīng)度:東經(jīng) 116.4。經(jīng)緯度坐標(biāo)有兩種表示方式:十進(jìn)制格式(例如 39.9)和 DMS(Degree Minute Second,角度)格式(例如 39 54 20 )。HTML5 Geolocation API 返回的坐標(biāo)格式為十進(jìn)制格式。除了緯度和經(jīng)度坐標(biāo),HTML5 Geolocation 還提供位置坐標(biāo)的準(zhǔn)確度。除此之外,它還會提供其他一些元數(shù)據(jù),比如海拔、海拔準(zhǔn)確度、行駛方向和速度等,具體情況取決于瀏覽器所在的硬件設(shè)備。3、位置信息
36、來源與比較 HTML5 Geolocationa API 不指定設(shè)備用哪種底層技術(shù)來定位應(yīng)用程序的用戶。它只用于檢索位置信息的API,而且通過該API檢索到的數(shù)據(jù)只具有某種程度的準(zhǔn)確性。它并不保證設(shè)備返回的實際位置是精確的。位置信息一般從如下數(shù)據(jù)源獲得: (1)IP 地址 (2)三維坐標(biāo) (3)GPS(Global Positioning System,全球定位系統(tǒng)) (4)Wi-Fi (5)手機(jī)信號 (6)用戶自定義數(shù)據(jù)它們各有優(yōu)缺點如表 1.1 所示,為了保證更高的準(zhǔn)確度,許多設(shè)備使用多個數(shù)據(jù)源組合的方式。 IP地址地理定位數(shù)據(jù)。以前,基于IP地址的地理定位是獲取位置的唯一方式,其返回的位
37、置信息通常并不靠譜。基于IP地理位置的定位方式是:自動查找用戶的IP地址,然后檢索其注冊的物理地址。因此,如果用戶的地址是ISP提供的,位置就會由服務(wù)器供應(yīng)商的物理地址決定,而地址可能距離用戶數(shù)千米。 GPS地理定位數(shù)據(jù)。能看到天空的地方,GPS就可以提供精確的定位結(jié)果。GPS定位是通過地球周圍多個衛(wèi)星的GPS衛(wèi)星的信號實現(xiàn)的。GPS定位的時間比較長,所以不適合快速相應(yīng)的應(yīng)用程序。 Wi-Fi地理定位數(shù)據(jù)?;赪i-Fi地理定位信息是通過三角距離計算得出,三角距離指的是用戶當(dāng)前位置到已知的多個Wi-Fi(大多是在城市)接入點的距離。與GPS不同的是,Wi-Fi在室也非常精確。 手機(jī)地理定位數(shù)據(jù)
38、?;谑謾C(jī)的地理定位信息是通過用戶到一些基站的三角距離確定位置結(jié)果。經(jīng)常與Wi-Fi和基于GPS的地理定位信息結(jié)合使用。 用戶自定義的地理定位數(shù)據(jù)。除去通過編程計算出用戶的位置外,也可以通過用戶自定義其位置。應(yīng)用程序可以允許用戶輸入他們的地址、郵政編碼和其他的一些關(guān)于位置的詳細(xì)信息。應(yīng)用程序通過這些數(shù)據(jù)信息來提供位置的感知服務(wù)。表 1.1 位置信息獲取方式對比數(shù)據(jù)源優(yōu)點缺點IP 地址任何地方都可用在服務(wù)器端處理不精確(經(jīng)常出錯,一般精確到城市級)運(yùn)算代價大GPS很精確定位時間長,耗電量大室效果差需要額外硬件設(shè)備支持Wi-Fi精確可在室使用簡單、快捷在鄉(xiāng)村這些 Wi-Fi 接入點少的地區(qū)無法使用
39、手機(jī)信號相當(dāng)準(zhǔn)確可在室使用簡單、快捷需要能夠訪問手機(jī)或其 modem 設(shè)備用戶自定義可獲得比程序定位服務(wù)更準(zhǔn)確的位置數(shù)據(jù)用戶自行輸入可能比自動檢測更快可能很不準(zhǔn)確,特別是當(dāng)用戶位置變更后4、瀏覽器支持情況各個瀏覽器對 HTML5 Geolocation 的支持程度不同,并且還在不斷更新中。在 HTML5 的所有功能中,HTML5 Geolocation 是第一批被全部接受和實現(xiàn)的功能之一,相關(guān)規(guī)已經(jīng)達(dá)到一個非常成熟的階段,不大可能做太大改變。如表 2.2 所示,很多瀏覽器已經(jīng)支持 HTML5 Geolocation:表 2. 2 瀏覽器對 HTML5 Geolocation 的支持情況瀏覽器支
40、持情況Firefox3.5 與以上版本支持Chrome在帶有 Gears 的第 2 版 Chrome 中被支持Internet Explorer通過 Gears 插件支持Opera在版本 10 中支持Safari在版本 4 中支持以實現(xiàn)在 iPhone 上可用5、隱私機(jī)制 HTML5 Geolocation 規(guī)提供了一套保護(hù)用戶隱私的機(jī)制。只有得到用戶的許可,否者不可獲取用戶的地理位置。這個合理的隱私機(jī)制同樣解釋了用戶一直對HTML5應(yīng)用程序中的難題。從HTML5 Geolocation的例子中可以看到,通常會鼓勵用戶共享這些信息。例如:用戶在咖啡廳喝咖啡,如果應(yīng)用程序可以讓他們得知該咖啡店附
41、近的商店在打折,那么用戶就可以共享他們的位置信息是完全可以接受的。其中步驟如下:(1)用戶瀏覽器打開應(yīng)用程序的位置感應(yīng)程序。 (2)應(yīng)用程序WEB頁面加載,通過Geolocation 函數(shù)調(diào)用請求。瀏覽器攔截請求,請求用戶授權(quán)。如果同意繼續(xù)執(zhí)行,否則停止。 (3)瀏覽器從宿主設(shè)備中檢索坐標(biāo)信息。例如:IP地址,Wi-Fi或GPS坐標(biāo)。瀏覽器部具有的功能。(4)瀏覽器將坐標(biāo)發(fā)送給受信任的外部定位服務(wù),返回一個詳細(xì)的位置信息,病將該位置發(fā)回給HTML5 Geolocation 應(yīng)用程序。6、隱私機(jī)制觸發(fā) 觸發(fā)訪問使用HTML5 Geolocation API的頁面時,會觸發(fā)隱私保護(hù)機(jī)制。下圖顯示了
42、在Firefox3.5中觸發(fā)隱私保護(hù)機(jī)制的頁面:圖2.1在Firefox3.5中觸發(fā)隱私保護(hù)機(jī)制的頁面: 程序調(diào)用HTML5 Geolocation代碼時后出發(fā)這一機(jī)制。僅僅添加HTML5 Geolocation 代碼,而不被任何方法調(diào)用,則不會觸發(fā)隱私保護(hù)機(jī)制。只要所添加的HTML5 Geolocation代碼被執(zhí)行,瀏覽器就會提示應(yīng)用程序需要共享他們的位置。執(zhí)行HTML5 Geolocation 的方發(fā)很多,如調(diào)用navigation.geolocation.getCurrentPostion方法等。第二節(jié) HTML5 Geolocation API 的使用本小節(jié)詳細(xì)討論HTML5 Geo
43、location API 的使用方法。通過創(chuàng)建一個簡單的瀏覽器頁面,讓讀者更加了解其使用方法。一、檢查瀏覽器的支持特性 在調(diào)用HTML5 Geolocation API 函數(shù)前,需要確保支持所要完成的工作。在當(dāng)前瀏覽器不支持的時候就可以提供一些代替文本,以提示用戶升級所用的瀏覽器或者安裝插件來增強(qiáng)現(xiàn)有瀏覽器的功能,以下代碼是瀏覽器檢查的一種途徑。 清單1. 檢查瀏覽器支持特性: function testSupport() if (navigator.geolocation) document.getElementById(“support”).innerHTML = 支持 HTML5 Geo
44、location。; else document.getElementById(“support”).innerHTML = 該瀏覽器不支持 HTML5 Geolocation !建議升級瀏覽器或安裝插件(如 Gears)。; 在此例子中,testSupport函數(shù)測試了瀏覽器的支持情況,該函數(shù)功能是在調(diào)用該函數(shù)時候如果存在地理定位的對象,navigator.geolocation) 調(diào)用將返回該函數(shù)對象,否則觸發(fā)錯誤。頁面上會根據(jù)檢測結(jié)果顯示支持情況的提示信息。二、位置請求在 HTML5 Geolocation 功能中,位置請求有兩種:單次定位請求重復(fù)性位置更新請求1、單次位置請求在許多應(yīng)用
45、中,只檢索或請求一次用戶位置即可。例如前面提到的,午餐時間到了,要查詢用戶附近餐館的特色菜與其價格和評論,就可以使用清單 2 所示的 HTML5 Geolocation API。清單 2. 單詞定位請求 API Void getCurrentPosition(in PositionCallback successCallback, in optional PositionErrorCallback errorCallback, in optional PositionOptions options ); 該函數(shù)調(diào)用的詳細(xì)分析。 首先,因這個函數(shù)是通過navigatar.geolocation對
46、象的調(diào)用。所以在本代碼中需要愛獲取次對象。因確保有一個后備函數(shù),來對應(yīng)不支持HTML5 Geolocation 的情況。這個函數(shù)接受一個必選參數(shù)和兩個可選參數(shù)。函數(shù)參數(shù)successCallback為瀏覽器指明位置數(shù)據(jù)可用時應(yīng)調(diào)用的函數(shù)。因為像獲取位置數(shù)據(jù)這樣的操作可能需要長時間才能完成,所以這個參數(shù)很重要。沒有用戶希望在檢索位置時瀏覽器被鎖定,也沒有開發(fā)人員希望他的程序無限期暫停(特別是要成功取得位置信息,經(jīng)常必須等待用戶的許可)。successCallback是收到實際位置信息并進(jìn)行處理的地方。跟絕大多數(shù)編程場景一樣,最好提前準(zhǔn)備出錯處理。位置信息請求很可能因為一些不可控因素失敗,對于這些
47、情況,你可能需要提供一個用于跟用戶解釋或者提示其重試的successCallback函數(shù)。雖然此函數(shù)時可選的,不過建議選用。最后,options對象可以調(diào)整HTML5 Geolocation()的javaScript函數(shù),它使用最新的位置數(shù)據(jù)更新頁面容。同樣地,也創(chuàng)建了一個handleLocationError()函數(shù)來處理錯誤情況。接下來,我們將研究這些函數(shù)的細(xì)節(jié),而請求訪問用戶位置的核心代碼如下所示:Navigator.geolocation.getCurrentPosition(updateLocation,handleLocationionError);updateLocation()
48、函數(shù) updateLocation()函數(shù)是做什么的呢?實際上非常簡單。只要瀏覽器具備訪問位置信息的條件,就會調(diào)用updateLocation()函數(shù),該函數(shù)只接受一個參數(shù):位置對象。這個對象包含坐標(biāo)(corrds特性)和一個獲取位置數(shù)據(jù)時的時間戳。在實際開發(fā)中不一定需要時間戳,重要的位置都包含在了coords特性中。坐標(biāo)總是有多個特性,但是瀏覽器和用戶硬件設(shè)備會決定這些特性值是都有意義。以下是 三個特性: (1)latitude(緯度) (2)Longitude(經(jīng)度) (3)accuracy(準(zhǔn)確度) 毋庸置疑,這些特性的數(shù)據(jù)時必須的。Latitude和longitude將包含HTML5
49、Geolocation服務(wù)測定得到最佳的十進(jìn)制用戶位置。 Accurarcy將以m為制定緯度和經(jīng)度值與實際位置間的差距,置信度為95%。局限于HTML5Geolocation的實現(xiàn)方式,位置只能粗略的近似值。在呈現(xiàn)返回值錢請一定要檢查返回值的準(zhǔn)確度。如果推薦的所謂的“附件的”鞋店,其實要耗費(fèi)用戶幾小時的路程,可能會產(chǎn)生意想不到的后果。 坐標(biāo)還有一些其他特性,不能保證瀏覽器都為其提供支持,但如果不支持就會返回null: Latitude 用戶位置的海拔高度,以m 為單位; altitudeAccuracy 海拔高度的準(zhǔn)確度,也是以m為單位,如果不支持altitude特性也會返回null; Hea
50、ding 行進(jìn)方向,相對于正北而言; Speed 地面速度,以m/s為單位。 除非確定用戶的設(shè)備能夠訪問這些信息,否則建議應(yīng)用程序不要過于依賴它們。全球定位設(shè)備可能提供這種細(xì)節(jié)信息,而網(wǎng)絡(luò)三角定位則不會?,F(xiàn)在,讓我們了解一下updateLocation()函數(shù)的實現(xiàn)代碼(參見代碼清單3),該函數(shù)依據(jù)坐標(biāo)信息執(zhí)行具體的更新操作。清單 3. updateLocation()函數(shù)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(“經(jīng)度”).innerHTML = longitude; document.getElementById(“準(zhǔn)確度”).innerHTML = accuracy + “米”; 清單 3 給出了 updateLocation() 函數(shù)的常用實現(xiàn)代碼,該函數(shù)根據(jù)坐標(biāo)信息執(zhí)行具體的更新操作:用獲得的位置信息分別更新 HTML 頁面上三個空間元素的文本。可選參
52、數(shù) handleLocationError 為瀏覽器指明出錯處理函數(shù)。位置信息請求可能因為一些不可控因素失敗,這時,您需要在這個函數(shù)中提供對用戶的解釋。幸運(yùn)的是,該 API 已經(jīng)定義了所有需要處理的錯誤情況的錯誤編號。錯誤編號 code 設(shè)置在錯誤對象中,錯誤對象作為 error 參數(shù)傳遞給錯誤處理程序。這些錯誤編號有: UNKNOWN_ERROR (0):不包括在其它錯誤編號中的錯誤,需要通過 message 參數(shù)查找錯誤的詳細(xì)信息。PERMISSION_DENIED (1):用戶拒絕瀏覽器獲得其位置信息。POSITION_UNVAILABLE (2):嘗試獲取用戶信息失敗。TIMEOUT
53、(3):在 options 對象中設(shè)置了 timeout 值,嘗試獲取用戶位置超時。在這些情況下,您可以通知用戶應(yīng)用程序運(yùn)行出了什么問題,如清單 4 所示清單 4. 使用錯誤處理函數(shù)function handleLocationError(error) switch (error.code) case 0: updateStatus(“嘗試獲取您的位置信息時發(fā)生錯誤:” + error.message); break; case 1: updateStatus(“用戶拒絕了獲取位置信息請求?!?; break; case 2: updateStatus(“瀏覽器無法獲取您的位置信息?!?; b
54、reak; case 3: updateStatus(“獲取您位置信息超時?!?; break; 可選參數(shù) options 對象可以調(diào)整 HTML5 Geolocation 服務(wù)的數(shù)據(jù)收集方式。該對象有三個可選參數(shù): enableHighAccuracy:如果啟動該參數(shù),瀏覽器會啟動 HTML5 Geolocation 服務(wù)的高精確度模式,這將導(dǎo)致機(jī)器花費(fèi)更多的時間和資源來確定位置,應(yīng)謹(jǐn)慎使用。默認(rèn)值為 false;timeout:單位為 ms,告訴瀏覽器獲取當(dāng)前位置信息所允許的最長時間。如果在這個時間段未完成,就會調(diào)用錯誤處理程序。默認(rèn)值為 Infinity,即無窮大(無限制);maximu
55、mAge:以 ms 為單位,表示瀏覽器重新獲取位置信息的時間間隔。默認(rèn)值為 0,這意味著瀏覽器每次請求時必須立即重新計算位置。使用可選參數(shù) options 更新我們的位置請求,讓其包含一個使用 JSON 對象表示的可選參數(shù),如下所示:清單 5. 包含 options 的更新位置請求 navigator.geolocation.getCurrentPosition(updateLocation, handleLocationError, timeout: 10000); 這個調(diào)用告訴 HTML5 Geolocation,當(dāng)獲取位置請求的處理時間超過 10s(10000ms)時觸發(fā)錯誤處理程序,這
56、時,error code 應(yīng)該是 3。3、重復(fù)性位置更新請求有時候,僅獲取一次用戶位置信息是不夠的。比如用戶正在移動,隨著用戶的移動,頁面應(yīng)該能夠不斷更新顯示附近的餐館信息,這樣,所顯示的餐館信息才對用戶有意義。幸運(yùn)的是,HTML5 Geolocation 服務(wù)的設(shè)計者已經(jīng)考慮到了這一點,應(yīng)用程序可以使用如下 API 進(jìn)行重復(fù)性位置更新請求,當(dāng)監(jiān)控到用戶的位置發(fā)生變化時,HTML5 Geolocation 服務(wù)就會重新獲取用戶的位置信息,并調(diào)用 updateLocation() 函數(shù)處理新的數(shù)據(jù),與時通知用戶。清單 6. 重復(fù)性位置更新請求 APIvoid watchPosition(upda
57、teLocation, optional handleLocationError, optional options); 這個函數(shù)的參數(shù)跟前面提到的 getCurrentPosition 函數(shù)的參數(shù)一樣,不再重復(fù)介紹。關(guān)閉更新也很簡單,如果應(yīng)用程序不需要再接收用戶的位置更新消息,只需要使用 clearWatch() 函數(shù)。清單 7. watchPosition 和 clearWatch 的使用 var watchId = navigator.geolocation.watchPosition(updateLocation, handleLocationError); / 基于持續(xù)更新的位置信息
58、實現(xiàn)一些功能 / 停止接收位置更新消息 navigator.geolocation.clearWatch(watchId); 第三節(jié) 開發(fā)集成環(huán)境一、C# 簡介C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于HYPERLINK :/baike.baidu /view/18370.htm t _blank .NET Framework之上的高級程序設(shè)計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。但是C#與Java
59、有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司 .NET windows網(wǎng)絡(luò)框架的主角。C#最初它有個更酷的名字,叫做COOL。微軟從1998年12月開始了COOL項目,直到2000年2月,COOL被正式更名為C#。在1998年,Delphi語言的設(shè)計者Hejlsberg帶領(lǐng)著Microsoft公司的開發(fā)團(tuán)隊,開始了第一個版本C#語言的設(shè)計。在2000年9月,國際信息和通信系統(tǒng)標(biāo)準(zhǔn)化組織為C#語言定義了一個Microsoft公司建議的標(biāo)準(zhǔn)。最終C#語言在2001年得以正式發(fā)布。C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和HYPERLI
60、NK :/baike.baidu /view/824.htm t _blank C+衍生出來的HYPERLINK :/baike.baidu /view/125370.htm t _blank 面向?qū)ο蟮木幊陶Z言。它在繼承C和C+強(qiáng)大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏以與不允許多重繼承)。C#綜合了HYPERLINK :/baike.baidu /view/3063.htm t _blank VB簡單的可視化操作和C+的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向HYPERLINK :/baike.baidu /view/379950.htm t _b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國氧化鐵紅行業(yè)運(yùn)行狀況及發(fā)展趨勢預(yù)測報告
- 2025-2030年中國棉布行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國景觀設(shè)計行業(yè)市場未來發(fā)展趨勢及前景調(diào)研分析報告新版
- 2025-2030年中國插頭行業(yè)發(fā)展動態(tài)及前景趨勢分析報告新版
- 2025-2030年中國快餐行業(yè)市場運(yùn)行狀況與前景趨勢分析報告新版
- 2025-2030年中國家裝建材產(chǎn)業(yè)運(yùn)行狀況及發(fā)展趨勢預(yù)測報告新版
- 2025-2030年中國大環(huán)內(nèi)酯抗生素市場未來發(fā)展趨勢及前景調(diào)研分析報告
- 2025-2030年中國地面硬化劑行業(yè)競爭格局及投資發(fā)展前景分析報告
- 2025-2030年中國咸菜市場需求狀況與發(fā)展趨勢分析報告
- 餐飲行業(yè)智慧餐廳管理系統(tǒng)方案
- EGD殺生劑劑化學(xué)品安全技術(shù)說明(MSDS)zj
- GB/T 12229-2005通用閥門碳素鋼鑄件技術(shù)條件
- 超分子化學(xué)-第三章 陰離子的絡(luò)合主體
- 控制變量法教學(xué)課件
- 血壓計保養(yǎng)記錄表
- 食品的售后服務(wù)承諾書范本范文(通用3篇)
- 新外研版九年級上冊(初三)英語全冊教學(xué)課件PPT
- 初中中考英語總復(fù)習(xí)《代詞動詞連詞數(shù)詞》思維導(dǎo)圖
- 植物和五行關(guān)系解說
- 因式分解法提公因式法公式法
評論
0/150
提交評論