国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Web 地理定位(Geo-Location)

 

通過(guò) IP 地址獲得用戶的地理位置信息

互聯(lián)網(wǎng)不過(guò)是一個(gè)巨大的網(wǎng)絡(luò),上面的每一臺(tái)電腦對(duì)應(yīng)一個(gè) IP 地址,通過(guò)這個(gè) IP 地址,可以知道這個(gè)用戶在什么位置,我們可以通過(guò)查詢 Maxmind GeoIP 數(shù)據(jù)庫(kù) 獲得,Maxmind 還提供了一個(gè) JavaScript 接口讓你在網(wǎng)站上實(shí)現(xiàn)這一功能。

 

這個(gè)方法(演示)有一個(gè)問(wèn)題,就是說(shuō),你獲得的 IP 地理位置信息未必非常準(zhǔn)確,因?yàn)檫@個(gè) IP 是你的 ISP 分配給你的,你獲得的事實(shí)上是 ISP 的地理位置,另外,如果你使用 VPN,你實(shí)際的得到可能是十萬(wàn)八千里之外的地方了。

通過(guò) W3C Geo API 獲得用戶地理位置

通過(guò) IP 地址獲取用戶地理位置還有一個(gè)棘手的問(wèn)題,就是安全和隱私問(wèn)題,畢竟,并不是每個(gè)用戶都愿意自己的地理位置信息被別人知道,鑒于此,人們開發(fā)了很多技術(shù),Google Gears 擁有一個(gè) Geo-Location 服務(wù)Plazes 幫助你保存你的位置,而 Yahoo Fire Eagle 算得上這類技術(shù)中最順手的一個(gè)。然而這些技術(shù)共同的問(wèn)題是,它們要求用戶要么安裝一個(gè)插件,要么需要訪問(wèn)特定的 Web 服務(wù),這有些麻煩。

W3C 有一個(gè) Geo-Location API 可以幫助瀏覽器制造商,在瀏覽器中集成地理信息功能。Firefox 3.5 以上的瀏覽器支持 W3C Geo-LocationAPI,同樣支持該 API 的還有 iPhone 上的 Safari 瀏覽器(需要 OS3.0 以上)。需要通過(guò)瀏覽器查詢自己地理位置的用戶,在瀏覽器中,會(huì)顯示一個(gè)對(duì)話條,請(qǐng)求你的授權(quán)。如下圖所示:

以下是請(qǐng)求使用該功能的代碼:

下面的演示,可以很好地演示上面兩種地理信息獲取技術(shù)的不同,可以看到,他們?cè)?a >測(cè)量用戶地理位置方面有很多不同。

將經(jīng)度/維度轉(zhuǎn)換為地名

將經(jīng)度/維度信息轉(zhuǎn)換為地位,稱為 “反 Geo-Location”,網(wǎng)絡(luò)上有很多這類服務(wù)可以使用,其中最著名的是 the geo-names Web service, 但它仍有幾個(gè)問(wèn)題,比如,它的結(jié)果是以美國(guó)為中心的。另一個(gè)可免費(fèi)使用,且支持全球信息,但知道的人并不多的服務(wù)來(lái)自一個(gè)讓人有點(diǎn)意外的地方,Flickr。Flickr 的 flickr.places.findByLatLon 服務(wù)可以根據(jù)經(jīng)緯度信息返回地名,你可以在 app explorer 做下體驗(yàn),但目前最簡(jiǎn)單的方法是使用 Yahoo Query Language ( Yahoo 查詢語(yǔ)言,簡(jiǎn)稱 YQL). YQL 的樣子如下:

使用 YQL 查詢語(yǔ)言,你可以得到 XML 或 JSon 格式的數(shù)據(jù),下圖是在 JavaScript 中是使用該查詢語(yǔ)言的例子:

結(jié)合上面的例子,在反 Geo-Location 查詢的幫助下,我們得到了詳細(xì)的地名信息

經(jīng)緯度的問(wèn)題

 

經(jīng)緯度雖然可以定位地球上的一個(gè)位置,但經(jīng)緯度有時(shí)候容易引起歧義,為了解決這個(gè)問(wèn)題,Yahoo 和 Flickr (Twitter 很快也會(huì)支持)支持另一種定位方法,叫 Where On Earth Identifier (簡(jiǎn)稱 WOEID) 。使用該方法,我們可以很容易獲取來(lái)自某個(gè)區(qū)域的 Flickr 圖片。

這樣幾句 JavaScript 代碼就可以顯示來(lái)自指定地理位置的圖片:

這些代碼還可以打包成函數(shù),下面的代碼,將顯示來(lái)自巴黎的10幅照片,你可以自己在 YQL console 中體驗(yàn):

在文字內(nèi)容中自動(dòng)挖掘地理信息

假如你想獲得一段文字,或者一個(gè)網(wǎng)頁(yè)內(nèi)容所提到的地名的地理位置的信息,Yahoo 提供了一個(gè)很好的服務(wù),叫 Placemaker。從 Yahoo 那里獲取一個(gè) developer key 就可以使用該服務(wù)了。只需創(chuàng)建一個(gè)發(fā)布表單發(fā)布到 http://wherein.yahooapis.com/v1/document,將 Developer Key 以 appid 發(fā)布,需要查詢的文字以 documentContent 發(fā)布,將文字類型以 documentType 發(fā)布,同時(shí)用 outputType 定義返回?cái)?shù)據(jù)類型,如下:

你也可以在這里親自體驗(yàn)一下,使用 PHP 調(diào)用該 API ,甚至可以對(duì)輸出數(shù)據(jù)的格式進(jìn)行設(shè)置。這里還有一個(gè)使用 PlaceMaker 設(shè)計(jì) GeoMaker 服務(wù),簡(jiǎn)單輸入文字或 URL,選擇位置,就可以返回地圖。

因?yàn)檫€可以在 JavaScript 中通過(guò) YQL 使用 PlaceMaker,我們可以通過(guò)幾段客戶端腳本使用同樣的功能:

你需要三樣?xùn)|西,一段位于某個(gè) HTML 對(duì)象中的,包含地理位置的文字,一個(gè) Google Maps API Key (申請(qǐng)) 以及以下代碼:

在網(wǎng)頁(yè)中插入地圖

在線地圖有很多,Google Map 是其中的領(lǐng)先者,除了 Google,Yahoo, 微軟都提供地圖服務(wù),還有一個(gè)叫做 Open Street Maps 的開放地圖服務(wù),在上次海地地震救援中被派上用場(chǎng)。在網(wǎng)頁(yè)中插入交互地圖最簡(jiǎn)單的方法是使用 Mapstraction,它提供一個(gè) JavaScript 庫(kù),24ways 曾發(fā)表過(guò)一篇很好的介紹文章。如果你只想在網(wǎng)頁(yè)上放上你的地圖,指示你的位置,而不想使用太多 JavaScript, Google static maps API 是最好的選擇,它會(huì)生成靜態(tài)地圖,以下代碼可以將這個(gè)靜態(tài)地圖插入你的網(wǎng)頁(yè)(Google 還提供了一個(gè)創(chuàng)建靜態(tài)地圖的工具 ):

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AngularJS進(jìn)階(二十)HTML5實(shí)現(xiàn)獲取地理位置信息并定位功能
經(jīng)緯度格式轉(zhuǎn)換定位工具免費(fèi)下載附詳細(xì)使用教程
能定位的不僅GPS
如果用兩個(gè)字來(lái)描述你的家鄉(xiāng)在我國(guó)的地理位置,你會(huì)用哪兩個(gè)字?
網(wǎng)秦截獲新Android間諜軟件 可遠(yuǎn)程定位用戶地理位置
多區(qū)域和多語(yǔ)言網(wǎng)站
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服