• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      LBS應(yīng)用中地理定位機(jī)制研究

      2013-07-03 08:15:28王海波王兆華
      關(guān)鍵詞:瀏覽器客戶端服務(wù)器

      王海波,王兆華

      (中國(guó)傳媒大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)中心,北京 100024)

      0 引言

      LBS(Location Based Service,基于位置的服務(wù))[1]是指通過(guò)移動(dòng)運(yùn)營(yíng)商的無(wú)線電通訊網(wǎng)絡(luò)(如GSM網(wǎng)、CDMA網(wǎng))或外部定位方式(如GPS)獲取移動(dòng)終端用戶的位置信息。隨著Foursquare、Facebook等國(guó)外網(wǎng)站的興起,LBS服務(wù)成為互聯(lián)網(wǎng)以及移動(dòng)互聯(lián)網(wǎng)中非常重要的一種應(yīng)用。在W3C推出的HTML5規(guī)范中,制定了地理位置定位相關(guān)的API[2],極大地推動(dòng)了LBS應(yīng)用的發(fā)展。

      各主流瀏覽器在實(shí)現(xiàn)HTML5地理定位的相關(guān)規(guī)范時(shí),雖然對(duì)外提供了統(tǒng)一的接口,但內(nèi)部采用了不同的實(shí)現(xiàn)方法和機(jī)制。本文通過(guò)對(duì)瀏覽器實(shí)現(xiàn)HTML5地理定位機(jī)制的分析,指出了目前瀏覽器地理定位機(jī)制的缺陷,并提出了對(duì)這一問(wèn)題進(jìn)行改進(jìn)的方法。

      1 背景

      1.1 地理定位數(shù)據(jù)

      為了定位某一個(gè)設(shè)備,可以用一組數(shù)字來(lái)表示它在地球上的位置。在地理坐標(biāo)系中,坐標(biāo)由經(jīng)度、緯度和海拔高度組成[3]。

      地球上的水平參考線是緯線,兩條緯線的間距大約是69英里。地球上的垂直參考線是經(jīng)線,在南極點(diǎn)和北極點(diǎn)匯合。在度量陸地上某一點(diǎn)的高度時(shí),通常的基準(zhǔn)是地球的平均海平面。

      地理位置信息并不總是準(zhǔn)確無(wú)誤的,它依賴于進(jìn)行地理定位時(shí)采用的方法。

      1.2 地理定位的基本方法

      (1)GPS。

      GPS衛(wèi)星連續(xù)不斷地發(fā)射信息,支持GPS的設(shè)備或接收器可以對(duì)這些信息進(jìn)行解析。接收器通過(guò)測(cè)定GPS衛(wèi)星陣列中可見(jiàn)衛(wèi)星發(fā)射信號(hào)的時(shí)間來(lái)計(jì)算自己的位置。

      (2)IP地址。

      IP地址是指定給任何上網(wǎng)設(shè)備的一個(gè)唯一編號(hào)。多數(shù)情況下,IP地址是通過(guò)地區(qū)性的注冊(cè)機(jī)構(gòu)按照地區(qū)指定給互聯(lián)網(wǎng)服務(wù)提供商的。因此,通過(guò)IP地址通常能獲得設(shè)備所在的國(guó)家、地區(qū)和城市。

      (3)GSM/CDMA Cell ID。

      Cell ID是特定的蜂窩網(wǎng)絡(luò)中標(biāo)識(shí)每一部移動(dòng)設(shè)備的唯一編號(hào)。利用三角測(cè)量技術(shù),可以確定移動(dòng)設(shè)備的緯度和經(jīng)度,從而實(shí)現(xiàn)地理定位。

      (4)Wi-Fi和藍(lán)牙的MAC地址。

      MAC地址是設(shè)備的物理地址,通常由網(wǎng)絡(luò)接口卡制造商指定。這一地址原則上是固定不變并且是全球唯一的標(biāo)識(shí)符。

      1.3 HTML5規(guī)范中的地理定位API

      在W3C制定的Geolocaiton API中,規(guī)定了如何使用腳本訪問(wèn)主機(jī)設(shè)備的地理位置信息。其中,最重要的就是Geolocation對(duì)象,它通過(guò)getCurrentPositon方法獲得地理定位信息。獲得信息成功后,地理定位信息保存在Coordinates對(duì)象中,它的主要屬性信息如表1所示。

      表1 地理定位信息

      2 瀏覽器地理定位機(jī)制研究

      目前主流的瀏覽器基本實(shí)現(xiàn)了W3C組織制定的Geolocaiton API相關(guān)的規(guī)范。本文采用如圖1所示的方法來(lái)剖析瀏覽器如何獲得地理定位信息。

      圖1 瀏覽器地理定位機(jī)制研究方法

      筆者安裝一個(gè)代理服務(wù)器軟件,并設(shè)置瀏覽器經(jīng)過(guò)這一代理服務(wù)器的轉(zhuǎn)發(fā)來(lái)訪問(wèn)網(wǎng)絡(luò),從而獲得瀏覽器在獲取地理定位信息時(shí)中間產(chǎn)生的數(shù)據(jù)流。本文使用Fiddler這一代理服務(wù)器軟件。

      2.1 Internet Explorer瀏覽器

      IE 向 inference.location.live.net這一地理定位服務(wù)器發(fā)出請(qǐng)求,并從請(qǐng)求的結(jié)果中獲得客戶端的地理位置信息,如圖2所示。

      圖2 IE瀏覽器的地理定位機(jī)制

      為了防止信息在傳輸中被竊取,IE使用HTTPS協(xié)議與地理位置服務(wù)器進(jìn)行交互,并使用post方法來(lái)進(jìn)行數(shù)據(jù)的請(qǐng)求。請(qǐng)求的信息中包括時(shí)間戳、應(yīng)用ID、跟蹤ID、客戶端所在位置周圍的Wi-Fi網(wǎng)絡(luò)的名稱等信息。這些信息使用XML格式進(jìn)行編碼,其主要的結(jié)構(gòu)如圖3所示。

      圖3 IE post地理定位請(qǐng)求信息結(jié)構(gòu)

      發(fā)出的實(shí)際請(qǐng)求如下:

      IE 發(fā)出請(qǐng)求后,將從 inference.location.live.net地理定位服務(wù)器得到XML格式的結(jié)果數(shù)據(jù)。數(shù)據(jù)包括經(jīng)緯度信息、高度信息等。結(jié)果數(shù)據(jù)的主要結(jié)構(gòu)如圖4所示。

      圖4 IE post地理定位請(qǐng)求結(jié)果信息結(jié)構(gòu)

      瀏覽器獲得的實(shí)際請(qǐng)求結(jié)果如下:

      2.2 Firefox、Chrome以及 Opera瀏覽器

      Firefox等瀏覽器向 maps.googleapis.com 這一地理定位服務(wù)器發(fā)出請(qǐng)求,并從請(qǐng)求的結(jié)果中獲得客戶端的地理位置信息,如圖5所示。

      圖5 Firefox等瀏覽器地理定位機(jī)制

      與IE一樣,F(xiàn)irefox等瀏覽器使用HTTPS協(xié)議與地理位置服務(wù)器進(jìn)行交互。Firefox等瀏覽器使用get方法來(lái)進(jìn)行數(shù)據(jù)的請(qǐng)求。在發(fā)出的請(qǐng)求中,包括了客戶端使用的瀏覽器類型以及所在位置周圍的Wi-Fi網(wǎng)絡(luò)的名稱。

      表2 HTTP請(qǐng)求的頭信息

      發(fā)出請(qǐng)求后,將從 maps.googleapis.com 地理定位服務(wù)器得到Json格式的定位結(jié)果。

      3 瀏覽器地理定位機(jī)制的缺陷及其改進(jìn)

      從前面的剖析可以看到,每一種瀏覽器在獲得客戶端的地理定位時(shí),只能向固定的地理定位服務(wù)器發(fā)出請(qǐng)求,而不允許用戶對(duì)使用哪一地理定位服務(wù)器進(jìn)行選擇。地理定位服務(wù)器由于本身收集地理數(shù)據(jù)的能力不同,準(zhǔn)確度并不相同。目前瀏覽器地理定位機(jī)制使得用戶失去了選擇更好的地理定位服務(wù)器的可能性。

      本文在 JavaScript框架 geo-location-javascript的基礎(chǔ)上,實(shí)現(xiàn)了可以允許用戶對(duì)地理定位服務(wù)器進(jìn)行選擇的功能,如圖6所示。

      圖6 支持用戶選擇的地理定位方式

      為了使得瀏覽器能夠?qū)Σ煌牡乩矶ㄎ环?wù)器進(jìn)行訪問(wèn),采用了JSONP這一跨域的解決方法。例如,WorldIP是一個(gè)共享的地理信息庫(kù),它可以根據(jù)請(qǐng)求者的IP返回請(qǐng)求者的經(jīng)度、緯度、所在國(guó)家等信息。本文實(shí)現(xiàn) getCurrentPositionFromServer這一函數(shù),可以選擇從哪一地理定位服務(wù)器獲取地理定位數(shù)據(jù):

      其中,參數(shù)server用來(lái)對(duì)地理定位服務(wù)器進(jìn)行設(shè)置。如果使用WorldIP這一地理定位服務(wù)器,則把請(qǐng)求發(fā)送到api.wipmania.com,否則使用瀏覽器自身的地理定位機(jī)制完成信息的發(fā)送。

      當(dāng)用“WordIP”作為參數(shù)調(diào)用函數(shù)后,得到如圖7所示的結(jié)果。

      圖7 來(lái)自地理定位服務(wù)器WordIP的地理數(shù)據(jù)

      當(dāng)用“Google”作為參數(shù)調(diào)用函數(shù)后,得到如圖8所示的結(jié)果:

      圖8 來(lái)自地理定位服務(wù)器Googleapi的地理數(shù)據(jù)

      4 結(jié)束語(yǔ)

      在基于位置的服務(wù)(LBS)類型的應(yīng)用中,地理定位是其中不可缺少的功能。在目前的主流瀏覽器中內(nèi)置了地理定位功能的實(shí)現(xiàn)。本文回顧地理定位的基本方法,剖析瀏覽器在實(shí)現(xiàn)地理定位功能時(shí)的主要實(shí)現(xiàn)方式,即使用一定的參數(shù)信息向地理定位服務(wù)器發(fā)出post請(qǐng)求或get請(qǐng)求并獲得數(shù)據(jù)的方式。同時(shí),指出目前瀏覽器地理定位機(jī)制中不能選擇地理定位服務(wù)器的缺陷,并在geo-location-javascript框架的基礎(chǔ)上實(shí)現(xiàn)可由用戶自主選擇地理定位服務(wù)器的功能。這一功能使得用戶可以根據(jù)地理定位的準(zhǔn)確度來(lái)選擇地理定位服務(wù)器,增強(qiáng)地理定位的實(shí)用性。

      [1] Wikipedia.地理位置服務(wù)[EB/OL].http://zh.wikipedia.org/wiki/LBS,2012-05-12.

      [2] W3C.Geolocation API Specification[EB/OL].http://dev.w3.org/geo/api/spec-source.html,2012-05-10.

      [3] Peter Lubbers,Brian Albers,F(xiàn)rank Salim.HTML5高級(jí)程序設(shè)計(jì)[M].李杰,柳靖,劉淼譯.北京:人民郵電出版社,2012.

      [4] [美]Anthony T Holdener III,[阿根廷]Mario Andrés Pagella.深入HTML5應(yīng)用開(kāi)發(fā)[M].秦緒文,李松峰譯.北京:人民郵電出版社,2012.

      [5] Fiddler.Introducing Fiddler[EB/OL].http://www.fiddler2.com/fiddler2,2012-09-20.

      [6] 劉華星,楊庚.HTML5—下一代 Web開(kāi)發(fā)標(biāo)準(zhǔn)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(8):54-58,62.

      [7] 徐卓揆.基于 HTML5、Ajax和 Web Service的 WebGIS研究[J].測(cè)繪科學(xué),2012,37(1):145-147.

      [8] 徐莎,楊帆,徐昌慶.基于HTML5的WebGIS的研究與應(yīng)用[J].信息技術(shù),2012(4):149-151.

      [9] 易曉飛.HTML5 Geolocation API研究與應(yīng)用[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012(6):153-154.

      [10] 陶國(guó)榮.jQuery權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2011.

      [11] 陸凌牛.HTML 5與CSS 3權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2011.

      [12] 唐俊開(kāi).HTML5移動(dòng)Web開(kāi)發(fā)指南[M].北京:電子工業(yè)出版社,2012.

      [13] WIPmania.WorldIP-Free Geolocation Database,Service and Tools[EB/OL].http://www.wipmania.com,2012-09-20.

      [14] Mozilla.Location-Aware Browsing[EB/OL].http://www.mozilla.org/en-GB/firefox/geolocation/,2012-09-20.

      [15] JSON.Introducing JSON[EB/OL].http://www.json.org,2012-09-20.

      猜你喜歡
      瀏覽器客戶端服務(wù)器
      通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      孵化垂直頻道:新聞客戶端新策略
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      得形忘意的服務(wù)器標(biāo)準(zhǔn)
      計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      環(huán)球?yàn)g覽器
      再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
      客戶端空間數(shù)據(jù)緩存策略
      龙口市| 玉树县| 鄂托克前旗| 石阡县| 天峻县| 澎湖县| 密云县| 保亭| 资兴市| 辰溪县| 无锡市| 玉田县| 万源市| 锡林浩特市| 屏东县| 芦溪县| 博兴县| 澜沧| 闸北区| 民乐县| 扎兰屯市| 衡阳县| 南平市| 云阳县| 达日县| 青铜峡市| 额尔古纳市| 太和县| 涟源市| 洞头县| 锡林浩特市| 辛集市| 赤峰市| 西昌市| 庆城县| 万全县| 贡觉县| 巴彦淖尔市| 南汇区| 建平县| 修水县|