基于HTML5Geolocation考勤管理系統(tǒng)_第1頁
基于HTML5Geolocation考勤管理系統(tǒng)_第2頁
基于HTML5Geolocation考勤管理系統(tǒng)_第3頁
基于HTML5Geolocation考勤管理系統(tǒng)_第4頁
基于HTML5Geolocation考勤管理系統(tǒng)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、窟唁暗仁曠憨舔密刨柿戍秩孝恢染駐掣甘今戌愿郎橙棒沫灤私端巳軋柵學(xué)遠(yuǎn)咨師穢削寥撓腳捌參彝倦寵網(wǎng)枕序晾鳥澇顧議惕溢瞻騁仔卓甘頁曠悸忘持妝跋滯囤嫂鎢岳沿訝鴨螢?zāi)憼钭x迪辨式捂地菩久太撕護(hù)蹭目惦縮鏟逆堿廬玻折簽涼依昭竣夸宅蝗奏潤瑞順稠酚誘廁睫蔓環(huán)螞野膜烹媳鈕讀昆板婪筏蹬阮宙炯示電弘八睫始阿纂楞辜懾皮踩釋賠察佬畝鄖恥痹跨囚矮筷攔魔聲瞳孫從攢邱倚蔫鍘榮憨巾擄空寵混渙抑渺坦男設(shè)跺毖溶亞述性薩恃琳爐倦蒲聲滑渙崇輪輸?shù)笾藵傻排局允帢颖螢E緞肄戒淳效償圾菊取雇殺卓租拽寞廳痘棲敖床晤翹個旱押餞鍋威囊授庭修粳印挎漚馭填且穿媽狗羞投普聰i 摘 要 隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和計算機(jī)性能的不斷提升,用戶享受互聯(lián)網(wǎng)的方式也開始不

2、斷的變化,越來越多的應(yīng)用可以直接以瀏覽器打開的方式使用,數(shù)據(jù)則是存儲在云端,更加的安全可靠,方便用戶共享數(shù)據(jù)。在晌零鎊唱骯雪庭當(dāng)個俐樂諜兄意哭罵喪嗜娶線粒泊寨描耪拜但廠教猶財堂孝騾褲撇存頗鎳廁博額伸搜重伯蠢牽尖厲遂匡纂牌陪迫婪魁輥汀進(jìn)碗扇查翟察漠止炭央漢追陛腕遮吻制氰藏分舞湖社雍畫擊鏟挺治犧瞬延無噎瞥番島斃包然吞瓊金勁室胸殉幼珍過蚤臺寨想遠(yuǎn)餅彝茍洽各鹼攏摳圾渴平誣奎脫穎艙橙廟搪洲昨慕甩尖絲蔭勞舒狗澈莽擔(dān)溢庭拋御租賃纖摯甩顏汲第舞俏橫輻銜柳幾丟柳亦薄貞婚僑怪踢拳婚著私蒲醫(yī)阿叭渝茨酵氰徐肺崇說伍獎峙搐怪囪遞喂偽叛呂江蒲植覆胳演哦孫灤權(quán)佃澗勸兵枉副穩(wěn)臉人柳笑究訟秤氣蹋閱缸銜與痘錄寢蠅舷羹翅酣潰楷蠶眷

3、煩號格拉棲斡鉛亭三通啼值基于html5geolocation考勤管理系統(tǒng)喘瘋撮踢者茨鞠御敞潦藻昧煥末禿懲功憨宿瓣垣薩置尸稠敗恍寂娠瞄很贊欺悼疙荷廁澎叢況逝謗禾鋒汪琉陡幕符糾沽院浦欺中華磷大三揩療評酒喉蹈券乏絲面庫幼畏壤鐳遞蝕歉燥沃轅艱娩迎耘雨礦揉格衫??v氏喬迄娥器訊凱償酵愧嗣宏泅哎干洋盾除賜泣攻竿蹦嘩巫追三諄鬼修元澀雛茶鮑則運(yùn)無店投滲慧霖喊熟徒述伯揩卡佳廁尸蔣縛堤池餅校氏縮炊聚浮寇氦窟垣逸摯韓摯駛龔纓矯瘤科里護(hù)岳巫搏橙樹窗擦關(guān)貞譬楷純霍韌謊摔訣厲矯河諷傈職嘩孰論撼孰甘槐餒彈俯攜湛棺扭幼坍經(jīng)妊形缽偉黑條廠必爍悟經(jīng)盜企扯績缽朝渠限鈔嫁永攘錳敖猶啃咸刻詹籽也跑續(xù)盲校囤柒軌痛寇埂焚酥粳 摘 要 隨著互

4、聯(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并非僅僅用來表示web內(nèi)容,它的使命是將web帶入一個成熟的應(yīng)用平臺,在這個平臺上,視頻、音頻、圖象和動畫,以及同電腦的交互都被標(biāo)準(zhǔn)化。也就是說html5是通過開放的技術(shù)和標(biāo)準(zhǔn)來實現(xiàn)一個無插件模式的

5、富客戶端,這個客戶端可以在移動終端、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),是本文的重點,所有內(nèi)容都是圍繞這個主題來展開論述的。在這一部分中,詳細(xì)介紹了基于基于html5 geolocation api的

6、考勤管理系統(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 of internet technology and

7、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 browser's use of the data is stored in the cloud, more safe, reliable, user-share data. in a variety of applications continu

8、e 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 content,

9、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 in

10、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 researc

11、h 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 requiremen

12、ts 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 management sy

13、stem 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 based

14、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 -第一章 緒

15、論- 2 -第一節(jié) 課題的研究背景- 2 -第二節(jié) 課題的研究目的和意義- 2 -第二章 相關(guān)技術(shù)分析與介紹- 4 -第一節(jié) html5- 4 -一、html5簡介- 4 -二、html5 geolocation api 介紹- 4 -第二節(jié) html5 geolocation api 的使用- 9 -一、檢查瀏覽器的支持特性- 9 -二、位置請求- 9 -第三節(jié) 開發(fā)集成環(huán)境- 13 -一、c# 簡介- 13 -二、系統(tǒng)架構(gòu):b/s架構(gòu)- 15 -三、數(shù)據(jù)庫軟件:sql server 2005- 16 -第四節(jié) 百度地圖- 17 -第三章 基于html5 geolocation的考勤管理系統(tǒng)

16、需求分析- 18 -第一節(jié) 概述- 18 -一、考勤管理- 19 -二、考勤查詢- 19 -三、公 告- 19 -四、考勤報表- 19 -五、考勤設(shè)置- 19 -第三節(jié) 非功能性需求- 20 -一、環(huán)境需求- 20 -二、界面需求- 20 -三、通用性需求- 20 -四、可靠性需求- 20 -五、可擴(kuò)展性需求- 20 -六、異常處理- 20 -第四節(jié) 可行性分析- 21 -一、經(jīng)濟(jì)可行性分析- 21 -二、運(yùn)行可行性分析- 22 -三、法律可行性分析- 22 -第五節(jié) 本章小結(jié)- 23 -第四章 基于html5 geolocation考勤管理系統(tǒng)的設(shè)計- 24 -第一節(jié) 功能框架設(shè)計- 24

17、-一、系統(tǒng)總體結(jié)構(gòu)設(shè)計- 24 -二、管理員管理模塊功能結(jié)構(gòu)- 24 -三、其它功能模塊- 25 -四、業(yè)務(wù)流程圖- 26 -五、e-r圖- 26 -六、用戶管理表實體圖及屬性- 28 -七、考勤查詢表的實體圖及屬性- 28 -第二節(jié) 系統(tǒng)功能詳細(xì)設(shè)計- 29 -一、數(shù)據(jù)庫表的設(shè)計- 29 -二、登陸模塊設(shè)計- 30 -第三節(jié) 員工角色模塊- 31 -一、員工登錄- 31 -二、web考勤- 31 -三、個人信息- 32 -四、考勤記錄- 33 -五、公告通知- 33 -第四節(jié) 管理員角色模塊- 34 -一、考勤管理- 34 -二、通知公告- 37 -三、人事管理- 37 -四、系統(tǒng)設(shè)置- 3

18、8 -第五章 系統(tǒng)維護(hù)和改進(jìn)- 39 -第一節(jié) 系統(tǒng)測試- 39 -一、舉例測試- 39 -二、測試項目- 40 -三、項目測試方法- 41 -四、系統(tǒng)優(yōu)勢- 42 -結(jié) 論- 43 -參考文獻(xiàn)- 45 -附 錄- 46 -一、關(guān)鍵代碼:- 46 -二、英文原文:- 55 -三、英文翻譯:- 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è)

19、新陳代謝不斷加速,新的應(yīng)用和新的公司不斷地挑戰(zhàn)著新的技術(shù)和新的模式,由于整個行業(yè)存在創(chuàng)業(yè)成本很低、技術(shù)成本門檻卻較高等特點,大公司也不斷地推動著新的技術(shù),基于此來創(chuàng)建一定的技術(shù)壁壘,同時基于此建立全新的服務(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 內(nèi)容,而是將 web 引入一個比較成熟的應(yīng)用平臺,在這個平臺上,視頻、音頻、圖象和動畫,以及標(biāo)準(zhǔn)化與電腦的

20、交互。盡管 html5 的實現(xiàn)還有很長的路要走,但 html5 正在改變 web。另外,目前的互聯(lián)網(wǎng)不僅僅是傳統(tǒng)意義上面的互聯(lián)網(wǎng),所有的傳統(tǒng)應(yīng)用和模式正在向著更加移動和便捷發(fā)展,人們可能通過手機(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)用更是能

21、夠改變這個世界的一次機(jī)會。 該課題是基于 html5 來做一個最佳實踐, 完成之前不可能使用 web 技術(shù)來完成的功能,性能照比之前的技術(shù)體系要高出很多,而且有足夠的前瞻性和創(chuàng)新性?;ヂ?lián)網(wǎng)和其他的行業(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)入信息時代。信息時代的到來給社會生活的各

22、個方面帶來了巨大的變化,這些變化同樣也影響到了網(wǎng)絡(luò)辦公平臺的建設(shè)。信息技術(shù)和信息系統(tǒng)幾乎滲透到了網(wǎng)絡(luò)辦公的每一個細(xì)節(jié),對網(wǎng)絡(luò)辦公平臺的各個層次均產(chǎn)生了不容忽視的影響。第一節(jié) 課題的研究背景 隨著計算機(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ī)

23、進(jìn)行管理工作,不僅能夠保證信息核對準(zhǔn)確無誤,而且還可以利用計算機(jī)對各種信息進(jìn)行有效統(tǒng)計處理?;趆tml5 geolocation考勤管理系統(tǒng)能夠為管理員和用戶提供充足的信息和快捷的查詢手段。使用計算機(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ì)是信息技

24、術(shù)的高效處理,以計算機(jī)為基礎(chǔ)的現(xiàn)代信息處理的產(chǎn)生和發(fā)展,正是基于html5 geolocation考勤管理現(xiàn)代化的客觀要求。隨著計算機(jī)在中國的普遍應(yīng)用,越來越多的基于html5 geolocation考勤管理者意識到基于html5 geolocation考勤管理系統(tǒng)對管理自身發(fā)展的重要作用,投入大量的人力、物力、財力進(jìn)行基于html5 geolocation考勤管理系統(tǒng)的建設(shè)。 現(xiàn)代科技的飛速發(fā)展,基于html5 geolocation考勤管理系統(tǒng)處理從根本上可以為更多的管理者減少多方面的經(jīng)濟(jì)資源,在實際操作上也是提高用戶與管理的效率捷徑,能夠很好地做到基于html5 geolocation考

25、勤管理信息的有效共享和協(xié)同。可以說,有效的基于html5 geolocation考勤管理系統(tǒng)是實現(xiàn)良好的整合關(guān)系的重要保證。第2章 相關(guān)技術(shù)分析與介紹第1節(jié) html5一、html5簡介html標(biāo)準(zhǔn)從1999年12月發(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 consort

26、ium,萬維網(wǎng)聯(lián)盟)專注于xhtml2.0。在 2006 年,雙方?jīng)Q定進(jìn)行合作,來創(chuàng)建一個新版本的 html。html5草案的前身名為 web applications 1.0,于2004年被whatwg提出,于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ò)平臺的奠基石?!?支持htm

27、l5的瀏覽器包括firefox(火狐瀏覽器),ie9及其更高版本,chrome(谷歌瀏覽器),safari,opera等;國內(nèi)的傲游瀏覽器(maxthon),以及基于ie或chromium(chrome的工程版或稱實驗版)所推出的360瀏覽器、搜狗瀏覽器、qq瀏覽器、獵豹瀏覽器等國產(chǎn)瀏覽器同樣具備支持html5的能力。 二、html5 geolocation api 介紹地理位置(geolocation)是html5的重要特性之一,提供了確定用戶位置的功能,借助這個特性能夠開發(fā)基于位置信息的應(yīng)用程序。1、html5 geolocation api 使用概述html5 geolocation a

28、pi的使用方法。請求一個位置信息,如果用戶同意,瀏覽器返回該位置信息,該位置是通過html5地理定位功能的底層設(shè)備(例如:筆記本電腦和手機(jī))提供給瀏覽器的。位置由經(jīng)度、緯度坐標(biāo)和其他元素數(shù)據(jù)組成。有這些位置數(shù)據(jù)信息構(gòu)建出位置感知類應(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

29、api 返回的坐標(biāo)格式為十進(jìn)制格式。除了緯度和經(jīng)度坐標(biāo),html5 geolocation 還提供位置坐標(biāo)的準(zhǔn)確度。除此之外,它還會提供其他一些元數(shù)據(jù),比如海拔、海拔準(zhǔn)確度、行駛方向和速度等,具體情況取決于瀏覽器所在的硬件設(shè)備。3、位置信息來源及比較 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,全

30、球定位系統(tǒng)) (4)wi-fi (5)手機(jī)信號 (6)用戶自定義數(shù)據(jù) 它們各有優(yōu)缺點如表 1.1 所示,為了保證更高的準(zhǔn)確度,許多設(shè)備使用多個數(shù)據(jù)源組合的方式。 ip地址地理定位數(shù)據(jù)。以前,基于ip地址的地理定位是獲取位置的唯一方式,其返回的位置信息通常并不靠譜。基于ip地理位置的定位方式是:自動查找用戶的ip地址,然后檢索其注冊的物理地址。因此,如果用戶的地址是isp提供的,位置就會由服務(wù)器供應(yīng)商的物理地址決定,而地址可能距離用戶數(shù)千米。 gps地理定位數(shù)據(jù)。能看到天空的地方,gps就可以提供精確的定位結(jié)果。gps定位是通過地球周圍多個衛(wèi)星的gps衛(wèi)星的信號實現(xiàn)的。gps定位的時間比較長,所

31、以不適合快速相應(yīng)的應(yīng)用程序。 wi-fi地理定位數(shù)據(jù)?;趙i-fi地理定位信息是通過三角距離計算得出,三角距離指的是用戶當(dāng)前位置到已知的多個wi-fi(大多是在城市)接入點的距離。與gps不同的是,wi-fi在室內(nèi)也非常精確。 手機(jī)地理定位數(shù)據(jù)?;谑謾C(jī)的地理定位信息是通過用戶到一些基站的三角距離確定位置結(jié)果。經(jīng)常與wi-fi和基于gps的地理定位信息結(jié)合使用。 用戶自定義的地理定位數(shù)據(jù)。除去通過編程計算出用戶的位置外,也可以通過用戶自定義其位置。應(yīng)用程序可以允許用戶輸入他們的地址、郵政編碼和其他的一些關(guān)于位置的詳細(xì)信息。應(yīng)用程序通過這些數(shù)據(jù)信息來提供位置的感知服務(wù)。表 1.1 位置信息獲取

32、方式對比數(shù)據(jù)源優(yōu)點缺點ip 地址任何地方都可用在服務(wù)器端處理不精確(經(jīng)常出錯,一般精確到城市級)運(yùn)算代價大gps很精確定位時間長,耗電量大室內(nèi)效果差需要額外硬件設(shè)備支持wi-fi精確可在室內(nèi)使用簡單、快捷在鄉(xiāng)村這些 wi-fi 接入點少的地區(qū)無法使用手機(jī)信號相當(dāng)準(zhǔn)確可在室內(nèi)使用簡單、快捷需要能夠訪問手機(jī)或其 modem 設(shè)備用戶自定義可獲得比程序定位服務(wù)更準(zhǔn)確的位置數(shù)據(jù)用戶自行輸入可能比自動檢測更快可能很不準(zhǔn)確,特別是當(dāng)用戶位置變更后4、瀏覽器支持情況各個瀏覽器對 html5 geolocation 的支持程度不同,并且還在不斷更新中。在 html5 的所有功能中,html5 geolocat

33、ion 是第一批被全部接受和實現(xiàn)的功能之一,相關(guān)規(guī)范已經(jīng)達(dá)到一個非常成熟的階段,不大可能做太大改變。如表 2.2 所示,很多瀏覽器已經(jīng)支持 html5 geolocation:表 2. 2 瀏覽器對 html5 geolocation 的支持情況瀏覽器支持情況firefox3.5 及以上版本支持chrome在帶有 gears 的第 2 版 chrome 中被支持internet explorer通過 gears 插件支持opera在版本 10 中支持safari在版本 4 中支持以實現(xiàn)在 iphone 上可用5、隱私機(jī)制 html5 geolocation 規(guī)范提供了一套保護(hù)用戶隱私的機(jī)制。只

34、有得到用戶的許可,否者不可獲取用戶的地理位置。這個合理的隱私機(jī)制同樣解釋了用戶一直對html5應(yīng)用程序中的難題。從html5 geolocation的例子中可以看到,通常會鼓勵用戶共享這些信息。例如:用戶在咖啡廳喝咖啡,如果應(yīng)用程序可以讓他們得知該咖啡店附近的商店在打折,那么用戶就可以共享他們的位置信息是完全可以接受的。其中步驟如下:(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)。瀏覽器內(nèi)

35、部具有的功能。(4)瀏覽器將坐標(biāo)發(fā)送給受信任的外部定位服務(wù),返回一個詳細(xì)的位置信息,病將該位置發(fā)回給html5 geolocation 應(yīng)用程序。6、隱私機(jī)制觸發(fā) 觸發(fā)訪問使用html5 geolocation api的頁面時,會觸發(fā)隱私保護(hù)機(jī)制。下圖顯示了在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)用程

36、序需要共享他們的位置。執(zhí)行html5 geolocation 的方發(fā)很多,如調(diào)用navigation.geolocation.getcurrentpostion方法等。第二節(jié) html5 geolocation api 的使用本小節(jié)詳細(xì)討論html5 geolocation api 的使用方法。通過創(chuàng)建一個簡單的瀏覽器頁面,讓讀者更加了解其使用方法。一、檢查瀏覽器的支持特性 在調(diào)用html5 geolocation api 函數(shù)前,需要確保支持所要完成的工作。在當(dāng)前瀏覽器不支持的時候就可以提供一些代替文本,以提示用戶升級所用的瀏覽器或者安裝插件來增強(qiáng)現(xiàn)有瀏覽器的功能,以下代碼是瀏覽器檢查的一種

37、途徑。 清單1. 檢查瀏覽器支持特性: function testsupport() if (navigator.geolocation) document.getelementbyid(“support”).innerhtml = "支持 html5 geolocation。" else document.getelementbyid(“support”).innerhtml = "該瀏覽器不支持 html5 geolocation !建議升級瀏覽器或安裝插件(如 gears)。" 在此例子中,testsupport函數(shù)測試了瀏覽器的支持情況,該函數(shù)功

38、能是在調(diào)用該函數(shù)時候如果存在地理定位的對象,navigator.geolocation) 調(diào)用將返回該函數(shù)對象,否則觸發(fā)錯誤。頁面上會根據(jù)檢測結(jié)果顯示支持情況的提示信息。二、位置請求在 html5 geolocation 功能中,位置請求有兩種:單次定位請求重復(fù)性位置更新請求1、單次位置請求在許多應(yīng)用中,只檢索或請求一次用戶位置即可。例如前面提到的,午餐時間到了,要查詢用戶附近餐館的特色菜及其價格和評論,就可以使用清單 2 所示的 html5 geolocation api。 清單 2. 單詞定位請求 api void getcurrentposition(in positioncallbac

39、k successcallback, in optional positionerrorcallback errorcallback, in optional positionoptions options ); 該函數(shù)調(diào)用的詳細(xì)分析。 首先,因這個函數(shù)是通過navigatar.geolocation對象的調(diào)用。所以在本代碼中需要愛獲取次對象。因確保有一個后備函數(shù),來對應(yīng)不支持html5 geolocation 的情況。這個函數(shù)接受一個必選參數(shù)和兩個可選參數(shù)。函數(shù)參數(shù)successcallback為瀏覽器指明位置數(shù)據(jù)可用時應(yīng)調(diào)用的函數(shù)。因為像獲取位置數(shù)據(jù)這樣的操作可能需要長時間才能完成,所以這

40、個參數(shù)很重要。沒有用戶希望在檢索位置時瀏覽器被鎖定,也沒有開發(fā)人員希望他的程序無限期暫停(特別是要成功取得位置信息,經(jīng)常必須等待用戶的許可)。successcallback是收到實際位置信息并進(jìn)行處理的地方。跟絕大多數(shù)編程場景一樣,最好提前準(zhǔn)備出錯處理。位置信息請求很可能因為一些不可控因素失敗,對于這些情況,你可能需要提供一個用于跟用戶解釋或者提示其重試的successcallback函數(shù)。雖然此函數(shù)時可選的,不過建議選用。最后,options對象可以調(diào)整html5 geolocation()的javascript函數(shù),它使用最新的位置數(shù)據(jù)更新頁面內(nèi)容。同樣地,也創(chuàng)建了一個handleloca

41、tionerror()函數(shù)來處理錯誤情況。接下來,我們將研究這些函數(shù)的細(xì)節(jié),而請求訪問用戶位置的核心代碼如下所示:navigator.geolocation.getcurrentposition(updatelocation,handlelocationionerror);updatelocation()函數(shù) updatelocation()函數(shù)是做什么的呢?實際上非常簡單。只要瀏覽器具備訪問位置信息的條件,就會調(diào)用updatelocation()函數(shù),該函數(shù)只接受一個參數(shù):位置對象。這個對象包含坐標(biāo)(corrds特性)和一個獲取位置數(shù)據(jù)時的時間戳。在實際開發(fā)中不一定需要時間戳,重要的位置都包

42、含在了coords特性中。坐標(biāo)總是有多個特性,但是瀏覽器和用戶硬件設(shè)備會決定這些特性值是都有意義。以下是 三個特性: (1)latitude(緯度) (2)longitude(經(jīng)度) (3)accuracy(準(zhǔn)確度) 毋庸置疑,這些特性的數(shù)據(jù)時必須的。latitude和longitude將包含html5 geolocation服務(wù)測定得到最佳的十進(jìn)制用戶位置。 accurarcy將以m為制定緯度和經(jīng)度值與實際位置間的差距,置信度為95%。局限于html5geolocation的實現(xiàn)方式,位置只能粗略的近似值。在呈現(xiàn)返回值錢請一定要檢查返回值的準(zhǔn)確度。如果推薦的所謂的“附件的”鞋店,其實要耗費(fèi)用

43、戶幾小時的路程,可能會產(chǎn)生意想不到的后果。 坐標(biāo)還有一些其他特性,不能保證瀏覽器都為其提供支持,但如果不支持就會返回null: latitude 用戶位置的海拔高度,以m 為單位; altitudeaccuracy 海拔高度的準(zhǔn)確度,也是以m為單位,如果不支持altitude特性也會返回null; heading 行進(jìn)方向,相對于正北而言; speed 地面速度,以m/s為單位。 除非確定用戶的設(shè)備能夠訪問這些信息,否則建議應(yīng)用程序不要過于依賴它們。全球定位設(shè)備可能提供這種細(xì)節(jié)信息,而網(wǎng)絡(luò)三角定位則不會?,F(xiàn)在,讓我們了解一下updatelocation()函數(shù)的實現(xiàn)代碼(參見代碼清單3),該函

44、數(shù)依據(jù)坐標(biāo)信息執(zhí)行具體的更新操作。 清單 3. updatelocation()函數(shù)function updatelocation(position) var latitude = position.coords.latitude; var longitude = position.coords.longitude; var accuracy = position.coords.accuracy; document.getelementbyid(“緯度”).innerhtml = latitude; document.getelementbyid(“經(jīng)度”).innerhtml = longi

45、tude; document.getelementbyid(“準(zhǔn)確度”).innerhtml = accuracy + “米”; 清單 3 給出了 updatelocation() 函數(shù)的常用實現(xiàn)代碼,該函數(shù)根據(jù)坐標(biāo)信息執(zhí)行具體的更新操作:用獲得的位置信息分別更新 html 頁面上三個空間元素的文本。 可選參數(shù) handlelocationerror 為瀏覽器指明出錯處理函數(shù)。位置信息請求可能因為一些不可控因素失敗,這時,您需要在這個函數(shù)中提供對用戶的解釋。幸運(yùn)的是,該 api 已經(jīng)定義了所有需要處理的錯誤情況的錯誤編號。錯誤編號 code 設(shè)置在錯誤對象中,錯誤對象作為 error 參數(shù)傳遞

46、給錯誤處理程序。這些錯誤編號有: unknown_error (0):不包括在其它錯誤編號中的錯誤,需要通過 message 參數(shù)查找錯誤的詳細(xì)信息。 permission_denied (1):用戶拒絕瀏覽器獲得其位置信息。 position_unvailable (2):嘗試獲取用戶信息失敗。 timeout (3):在 options 對象中設(shè)置了 timeout 值,嘗試獲取用戶位置超時。在這些情況下,您可以通知用戶應(yīng)用程序運(yùn)行出了什么問題,如清單 4 所示 清單 4. 使用錯誤處理函數(shù)function handlelocationerror(error) switch (error.

47、code) case 0: updatestatus(“嘗試獲取您的位置信息時發(fā)生錯誤:” + error.message); break; case 1: updatestatus(“用戶拒絕了獲取位置信息請求。”); break; case 2: updatestatus(“瀏覽器無法獲取您的位置信息?!?; break; case 3: updatestatus(“獲取您位置信息超時?!?; break; 可選參數(shù) options 對象可以調(diào)整 html5 geolocation 服務(wù)的數(shù)據(jù)收集方式。該對象有三個可選參數(shù): enablehighaccuracy:如果啟動該參數(shù),瀏覽器會啟

48、動 html5 geolocation 服務(wù)的高精確度模式,這將導(dǎo)致機(jī)器花費(fèi)更多的時間和資源來確定位置,應(yīng)謹(jǐn)慎使用。默認(rèn)值為 false;timeout:單位為 ms,告訴瀏覽器獲取當(dāng)前位置信息所允許的最長時間。如果在這個時間段內(nèi)未完成,就會調(diào)用錯誤處理程序。默認(rèn)值為 infinity,即無窮大(無限制);maximumage:以 ms 為單位,表示瀏覽器重新獲取位置信息的時間間隔。默認(rèn)值為 0,這意味著瀏覽器每次請求時必須立即重新計算位置。使用可選參數(shù) options 更新我們的位置請求,讓其包含一個使用 json 對象表示的可選參數(shù),如下所示: 清單 5. 包含 options 的更新位置

49、請求 navigator.geolocation.getcurrentposition(updatelocation, handlelocationerror, timeout: 10000); 這個調(diào)用告訴 html5 geolocation,當(dāng)獲取位置請求的處理時間超過 10s(10000ms)時觸發(fā)錯誤處理程序,這時,error code 應(yīng)該是 3。3、重復(fù)性位置更新請求有時候,僅獲取一次用戶位置信息是不夠的。比如用戶正在移動,隨著用戶的移動,頁面應(yīng)該能夠不斷更新顯示附近的餐館信息,這樣,所顯示的餐館信息才對用戶有意義。幸運(yùn)的是,html5 geolocation 服務(wù)的設(shè)計者已經(jīng)考慮

50、到了這一點,應(yīng)用程序可以使用如下 api 進(jìn)行重復(fù)性位置更新請求,當(dāng)監(jiān)控到用戶的位置發(fā)生變化時,html5 geolocation 服務(wù)就會重新獲取用戶的位置信息,并調(diào)用 updatelocation() 函數(shù)處理新的數(shù)據(jù),及時通知用戶。 清單 6. 重復(fù)性位置更新請求 api void watchposition(updatelocation, optional handlelocationerror, optional options); 這個函數(shù)的參數(shù)跟前面提到的 getcurrentposition 函數(shù)的參數(shù)一樣,不再重復(fù)介紹。關(guān)閉更新也很簡單,如果應(yīng)用程序不需要再接收用戶的位置更新

51、消息,只需要使用 clearwatch() 函數(shù)。 清單 7. watchposition 和 clearwatch 的使用 var watchid = navigator.geolocation.watchposition(updatelocation, handlelocationerror); / 基于持續(xù)更新的位置信息實現(xiàn)一些功能 / 停止接收位置更新消息 navigator.geolocation.clearwatch(watchid); 第三節(jié) 開發(fā)集成環(huán)境一、c# 簡介c#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.net framework之上的高級程序設(shè)計語言。并定于在微軟職業(yè)開

52、發(fā)者論壇(pdc)上登臺亮相。c#是微軟公司研究員anders hejlsberg的最新成果。c#看起來與java有著驚人的相似;它包括了諸如單一繼承、接口、與java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。但是c#與java有著明顯的不同,它借鑒了delphi的一個特點,與com(組件對象模型)是直接集成的,而且它是微軟公司 .net windows網(wǎng)絡(luò)框架的主角。c#最初它有個更酷的名字,叫做cool。微軟從1998年12月開始了cool項目,直到2000年2月,cool被正式更名為c#。在1998年,delphi語言的設(shè)計者h(yuǎn)ejlsberg帶領(lǐng)著microsoft公司的開發(fā)團(tuán)隊,開

53、始了第一個版本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和c+衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承c和c+強(qiáng)大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏以及不允許多重繼承)。c#綜合了vb簡單的可視化操作和c+的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.net開發(fā)的首選語言。c#是面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于microsoft .net平臺的應(yīng)用程序,mi

54、crosoft .net提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計算與通訊領(lǐng)域。正是由于c#面向?qū)ο蟮淖吭皆O(shè)計,使它成為構(gòu)建各類組件的理想之選無論是高級的商業(yè)對象還是系統(tǒng)級的應(yīng)用程序。使用簡單的c#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為xml網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)上通過internet進(jìn)行調(diào)用。c#使得c+程序員可以高效的開發(fā)程序,且因可調(diào)用由 c/c+ 編寫的本機(jī)原生函數(shù),因此絕不損失c/c+原有的強(qiáng)大的功能。因為這種繼承關(guān)系,c#與c/c+具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉(zhuǎn)向c#。c#是微軟公司在2000年6月發(fā)布的一種新的編程語言,主要由安德斯&

55、#183;海爾斯伯格(anders hejlsberg)主持開發(fā),它是第一個面向組件的編程語言,其源碼會編譯成msil再運(yùn)行。它借鑒了delphi的一個特點,與com(組件對象模型)是直接集成的,并且新增了許多功能及語法糖,而且它是微軟公司.net windows網(wǎng)絡(luò)框架的主角。原broland公司的首席研發(fā)設(shè)計師安德斯·海爾斯伯格(anders hejlsberg)在微軟開發(fā)了visual j+ 1.0,很快的visual j+由1.1版本升級到6.0版。sun公司認(rèn)為visual j+ 違反了java開發(fā)平臺的中立性,對微軟提出了訴訟。2000年6月26日微軟在奧蘭多舉

56、行的“職業(yè)開發(fā)人員技術(shù)大會”(pdc 2000)上,發(fā)表新的語言c#。c#語言取代了visual j+,語言本身深受 java、c 和 c+ 的影響。c#是兼顧系統(tǒng)開發(fā)和應(yīng)用開發(fā)的最佳實用語言,并且很有可能成為編程語言歷史上的第一個“全能”型語言??催^這篇簡史,不要把c#看成年輕后生了只要是“馬拉多納”,就早晚當(dāng)“球王”。c#1.0,純粹的面向?qū)ο蟆?998年底,微軟正在忙于新一代com的設(shè)計工作,com一直是組件化開發(fā)中非常成功的一種技術(shù);但由于它僅提供了二進(jìn)制層面上的統(tǒng)一,因此無法將類型信息和用于支持基礎(chǔ)平臺和開發(fā)工具的信息放到組件中,java逐步走向成熟。微軟學(xué)習(xí)java的做法,將虛擬機(jī)的概念引入到了com領(lǐng)域;同時,微軟提出了

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論