国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2013-07-03 08:15:28王海波王兆華
計算機(jī)與現(xiàn)代化 2013年2期
關(guān)鍵詞:瀏覽器客戶端服務(wù)器

王海波,王兆華

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

0 引言

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

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

1 背景

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

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

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

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

1.2 地理定位的基本方法

(1)GPS。

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

(2)IP地址。

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

(3)GSM/CDMA Cell ID。

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

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

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

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

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

表1 地理定位信息

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

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

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

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

2.1 Internet Explorer瀏覽器

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

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

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

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

發(fā)出的實際請求如下:

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

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

瀏覽器獲得的實際請求結(jié)果如下:

2.2 Firefox、Chrome以及 Opera瀏覽器

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

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

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

表2 HTTP請求的頭信息

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

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

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

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

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

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

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

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

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

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

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

4 結(jié)束語

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

[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高級程序設(shè)計[M].李杰,柳靖,劉淼譯.北京:人民郵電出版社,2012.

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

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

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

[7] 徐卓揆.基于 HTML5、Ajax和 Web Service的 WebGIS研究[J].測繪科學(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ī)光盤軟件與應(yīng)用,2012(6):153-154.

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

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

[12] 唐俊開.HTML5移動Web開發(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è)計與實現(xiàn)
反瀏覽器指紋追蹤
電子制作(2019年10期)2019-06-17 11:45:14
縣級臺在突發(fā)事件報道中如何應(yīng)用手機(jī)客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
環(huán)球瀏覽器
再見,那些年我們嘲笑過的IE瀏覽器
客戶端空間數(shù)據(jù)緩存策略
英吉沙县| 大石桥市| 海伦市| 星座| 都江堰市| 绵阳市| 盖州市| 平果县| 漠河县| 兴业县| 东台市| 昭通市| 台南市| 开原市| 兴城市| 诸城市| 德令哈市| 朝阳市| 密山市| 霸州市| 怀柔区| 越西县| 舒城县| 颍上县| 阿巴嘎旗| 宣武区| 文登市| 临江市| 梁河县| 五原县| 澄迈县| 利川市| 鞍山市| 获嘉县| 和政县| 长岛县| 洪江市| 始兴县| 信阳市| 连州市| 民县|