Web 地理定位(Geo-Location)知識大全

2020-12-01 cnBeta
感謝銳商企業CMS的投遞

新聞來源:smashingmagazine.com

在線地圖已經是很平常的應用,Google Map 甚至可以用作駕駛導航儀,然而,這些應用的實現涉及到千絲萬縷的艱辛工作,僅僅是定位你現在的位置,就有很多技術,有幸的是,如今在你的 Web 站點中,你可以通過短短的幾行代碼,獲得一個用戶的地理位置,本文介紹的是用在 Web 中的各種地理定位技術。

通過 IP 地址獲得用戶的地理位置信息

網際網路不過是一個巨大的網絡,上面的每一臺電腦對應一個 IP 地址,通過這個 IP 地址,可以知道這個用戶在什麼位置,我們可以通過查詢

Maxmind GeoIP 資料庫

獲得,Maxmind 還提供了一個

JavaScript 接口

讓你在網站上實現這一功能。

這個方法(

演示

)有一個問題,就是說,你獲得的 IP 地理位置信息未必非常準確,因為這個 IP 是你的 ISP 分配給你的,你獲得的事實上是 ISP 的地理位置,另外,如果你使用 VPN,你實際的得到可能是十萬八千裡之外的地方了。

通過 W3C Geo API 獲得用戶地理位置

通過 IP 地址獲取用戶地理位置還有一個棘手的問題,就是安全和隱私問題,畢竟,並不是每個用戶都願意自己的地理位置信息被別人知道,鑑於此,人們開發了很多技術,

Google Gears 擁有一個 Geo-Location 服務

Plazes 幫助你保存你的位置

,而

Yahoo Fire Eagle

算得上這類技術中最順手的一個。然而這些技術共同的問題是,它們要求用戶要麼安裝一個插件,要麼需要訪問特定的 Web 服務,這有些麻煩。

W3C 有一個

Geo-Location API

可以幫助瀏覽器製造商,在瀏覽器中集成地理信息功能。Firefox 3.5 以上的瀏覽器

支持 W3C Geo-LocationAPI

,同樣支持該 API 的還有

iPhone 上的 Safari 瀏覽器

(需要 OS3.0 以上)。需要通過瀏覽器查詢自己地理位置的用戶,在瀏覽器中,會顯示一個對話條,請求你的授權。如下圖所示:

以下是請求使用該功能的代碼:

下面的演示

,可以很好地演示上面兩種地理信息獲取技術的不同,可以看到,他們在

測量用戶地理位置

方面有很多不同。

將經度/維度轉換為地名

將經度/維度信息轉換為地位,稱為 「

反 Geo-Location

」,網絡上有很多這類服務可以使用,其中最著名的是

the geo-names Web service

, 但它仍有幾個問題,比如,它的結果是以美國為中心的。另一個可免費使用,且支持全球信息,但知道的人並不多的服務來自一個讓人有點意外的地方,

Flickr

。Flickr 的

flickr.places.findByLatLon

服務可以根據經緯度信息返回地名,你可以在

app explorer

做下體驗,但目前最簡單的方法是使用

Yahoo Query Language

( Yahoo 查詢語言,簡稱 YQL). YQL 的樣子如下:

使用 YQL 查詢語言,你可以得到

XML

或 JSon 格式的數據,下圖是在 JavaScript 中是使用該查詢語言的例子:

結合上面的例子,在反 Geo-Location 查詢的幫助下,

我們得到了詳細的地名信息

經緯度的問題

經緯度雖然可以定位地球上的一個位置,但經緯度有時候容易引起歧義,為了解決這個問題,Yahoo 和 Flickr (

Twitter

很快也會支持)支持另一種定位方法,叫

Where On Earth Identifier

(簡稱 WOEID) 。使用該方法,我們可以很容易獲取來自某個區域的 Flickr 圖片。

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

這些代碼還可以打包成函數,下面的代碼,將顯示來自巴黎的10幅照片,你可以自己在

YQL console

中體驗:

在文字內容中自動挖掘地理信息

假如你想獲得一段文字,或者一個網頁內容所提到的地名的地理位置的信息,Yahoo 提供了一個很好的服務,叫

Placemaker

。從 Yahoo 那裡獲取一個

developer key

就可以使用該服務了。只需創建一個發布表單發布到 http://wherein.yahooapis.com/v1/document,將 Developer Key 以 appid 發布,需要查詢的文字以 documentContent 發布,將文字類型以 documentType 發布,同時用 outputType 定義返回數據類型,如下:

你也可以在

這裡親自體驗一下

,使用 PHP 調用該 API ,甚至可以

對輸出數據的格式進行設置

。這裡還有一個使用 PlaceMaker 設計

GeoMaker

服務,簡單輸入文字或 URL,選擇位置,就可以返回地圖。

因為還可以在 JavaScript 中通過 YQL 使用 PlaceMaker,我們可以通過幾段客戶端腳本使用同樣的功能:

你需要三樣東西,一段位於某個 HTML 對象中的,包含地理位置的文字,一個 Google Maps API Key (

申請

) 以及以下代碼:

在網頁中插入地圖

在線地圖有很多,Google Map 是其中的領先者,除了 Google,Yahoo, 微軟都提供地圖服務,還有一個叫做

Open Street Maps

的開放地圖服務,

在上次海地地震救援中被派上用場

。在網頁中插入交互地圖最簡單的方法是使用

Mapstraction

,它提供一個 JavaScript 庫,

24ways 曾發表過一篇很好的介紹文章

。如果你只想在網頁上放上你的地圖,指示你的位置,而不想使用太多 JavaScript,

Google static maps API

是最好的選擇,它會生成靜態地圖,以下代碼可以將這個靜態地圖插入你的網頁(

Google 還提供了一個創建靜態地圖的工具

):

本文國際來源:

http://www.smashingmagazine.com/2010/03/08/entering-the-wonderful-world-of-geo-location/

中文編譯來源:

銳商企業CMS 網站內容管理系統

官方網站

相關焦點

  • 吃豆人geo新手怎麼玩 吃豆人geo攻略大全2020
    吃豆人geo這款遊戲是一款非常有趣的休閒遊戲,很多玩家們都喜歡玩這款有趣的吃豆遊戲,大家可以體驗到非常真實的場景,今天40407小編為各位玩家們帶來吃豆人geo攻略大全,快收藏起來吧!
  • (GEO)
    相信微信附近的人的功能大家都應該用過我可以很隨意的通過我自己的定位能看到我附近的人,並且能看到那個人距離我的距離,大家有沒有思考過這個是怎麼實現的?作為一個程序猿任何問題應該都有一個思考的過程,而不是直接看結論,接下來大家一步一步的思考,直到問題解決。
  • 2019地理空間領域全球百強企業及初創公司名單與空間分布
    The company develops a  line of end-to-end mapping solutions which convert images into georeferenced  maps and models.
  • 初中地理:中國地理+世界地理常識大全,考試容易考到的內容!
    初中地理並非像三大主課一樣被學生重視,課程安排上也比較少,學生常常地理成績平平,花費更多的時間學習三大主課,初中學科的學習不應該分主次科目,學生應該綜合發展,全面地學好初中的各科知識,不應該分科,也不應該區別對待。
  • 人民日報力薦:中國地理+世界地理常識大全,這些你都知道嗎?
    人民日報力薦:中國地理+世界地理常識大全,這些你都知道嗎?地理這門學科的綜合性非常的強,不僅中高考必考,對於我們的日常生活幫助也是特別的大。這是肯定不行的,雖然初中地理的知識相對比較淺,但是到了高中過後地理可是一門重點學科,所以同學們一定要將地理的一些基礎知識背熟掌握,特別是一些常識性知識,在考試當中是很容易出錯的。之前有同學問過我這個問題:學好地理除了可以提升考試成績,還會有什麼作用呢?相信除了這位同學以外,還會有不少的同學會有這樣的想法。
  • Pokemon Go出現failed to detect location是什麼意思
    今天小編就來為大家解答Pokemon Go出現failed to detect location是什麼意思。對此有疑惑的玩家快來看一看吧!口袋妖怪go一上線就受到了狂熱的追捧,目前雖然國內是處於鎖區的狀態但是部分地區的玩家還是可以玩的。
  • 體驗iOS與安卓裡的手機虛擬定位
    為啥要虛擬定位?有了虛擬定位功能,你的手機就可以瞬間虛擬到了地球上的任意位置,玩AR探索定位遊戲就能無限走動的隨意的進行世界的穿梭,照片裡的EXIF地理位置信息也能讓你裝裝X,一些需要定位的手機應用你也可以欺騙它們已經到了哪裡。
  • My Fake Location:反LBS,再也不懼老婆查崗
    只要你開啟了My Fake Location,你的手機上所有基於地理位置的應用都將以My Fake Location提供的經緯度數據為基準,結合Google 地圖它可以讓你騙過所有人。 使用起來也極其簡單,打開主界面,然後在地圖中手動點擊一個你需要定位的點,或者在上面的輸入框中填寫具體的經緯度,點擊「set gps location」,然後在後臺運行即可。就算你在東莞,你也可以讓你的老婆看到你的位置是在深圳,yep,就是這麼玩了。使用完了之後只需要選擇Stop和Exit即可,強悍吧!
  • 高中地理:知識點總結大全,大小考看這個就夠了
    高中地理一共有三個必修知識,必修一(自然地理),必修二(人文地理),必修三(區域地理)。除此之外,還有選修內容旅遊地理,這一內容更貼近我們的生活,因此,出的考題也較多。其實,就高中地理這門課程而言,很多學生之所以認為難,還是因為需要背誦記憶的知識點太多,可記憶也要講究方法,要與地圖地貌人文等知識統一起來。中國地理,各省直轄市人文、地理、地貌、特產各不相同,但章節編排相似,特有規律,世界地理也類似,所以老師認為比較法記憶應該會有不錯的效果。再者,就是做題,很多人都在批判衡水中學的題海模式,主張學生自主發展,注重學生素養的養成。
  • 七年級上冊地理如何學?只需吃透這份知識大全,最差也前110
    七年級上冊地理如何學?只需吃透這份知識大全,最差也前110數學是必考科目之一,故從初一開始就要認真地學習數學。那麼,怎樣才能學好數學呢?現介紹幾種方法以供參考:一、課內重視聽講,課後及時複習。新知識的接受,數學能力的培養主要在課堂上進行,所以要特點重視課內的學習效率,尋求正確的學習方法。上課時要緊跟老師的思路,積極展開思維預測下面的步驟,比較自己的解題思路與教師所講有哪些不同。特別要抓住基礎知識和基本技能的學習,課後要及時複習不留疑點。首先要在做各種習題之前將老師所講的知識點回憶一遍,正確掌握各類公式的推理過程,慶儘量回憶而不採用不清楚立即翻書之舉。
  • 高考地理必背知識點:高中地理空間定位和區域圖分析
    ,是地理學的精華所在,是地理學科最具特色的知識。高考更是鍾情於區域地理考查。區域的空間定位能力是高考能力體系當中重要的考查內容。在高考試卷中,無論是文科綜合試卷,還是地理單科試卷,都會出現相當數量的區域地圖,其中有些是直接考察區域地理內容,有些則是通過區域地圖所承載的各種地理信息,對自然地理或人文地理內容進行考察。
  • 漲知識:223個「世界之最」地理常識,知道10個都是地理小神童!
    漲知識:223個「世界之最」地理常識,知道10個都是地理小神童!地理是研究人類與地理環境關係的科學,人類生活在環境中,自然就離不開環境。那麼地理這個學科就是引導我們去認識環境,教我們怎樣去適應環境,改造環境,使人類與環境協調發展。可以說地理是學習生存的科學,是我們生活的工具,是每一個人必須掌握的知識。其實地理不是想像那麼難,地理是一門非常有趣的一個學科,地理的學習不僅僅只為了應付考試,更多的是可以豐富且見識,開闊自己的眼界。
  • 實戰iPhone應用開發之:GPS定位系統
    【IT168 技術文檔】如今,配備GPS功能的行動裝置越來越普遍了,使用GPS定位系統,可以精確地定位你當前所在的地理位置,但由於GPS接收機需要對準天空才能工作,因此在室內環境基本無用。
  • geotrust ev證書——單域名和多域名
    GeoTrust是業內非常著名的品牌,分為dvssl ovssl evssl三種類型,對於想要綠色網址欄的客戶來說,GeoTrust TrueBusinessID with EV證書是好的選擇,並且這款證書運用的256位加密,下面SSL盾小編為您講解下geotrust ev證書的性能與如何選擇
  • 「怪才」地理老師:將初中地理知識全變順口溜,48人期末考滿分
    2017-12-11 10:40:52 來源: 滿分秘籍 舉報   地理是一門綜合性很強的學科
  • 超好用安卓虛擬定位軟體Fake Location
    (嚴重懷疑後臺那剩下幾萬假粉,說好的白嫖客,你倒是出來瞅一眼) 所以不負眾望,白曉墨又更了,這次主要優化虛擬定位,因為很多小夥伴後臺反饋第三期「任我行破解版」出現了部分機種兼容問題,導致閃退無法正常工作。
  • 什麼,你感興趣的GEO數據集沒有關聯到原始文獻出處
    一個GSE數據集會關聯到一個原始文獻,比如:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?比如:當然,並不是說這個GEO數據集被多次挖掘,就一定要關聯到多個文章,比如:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE4107 它其實至少被挖掘了五次。