我想知道地理位置在Google Chrome或Firefox等網絡瀏覽器中的工作方式?網絡瀏覽器地理位置如何工作?
我可以訪問這個網站http://html5demos.com/geo,當我允許瀏覽器發送我的位置時,它會顯示我的當前位置。
但是,當我將該URL發送給我的朋友測試它時,它並不適用於所有人。地理位置如何工作以及如何實施地理位置以獲取正確的位置?
我想知道地理位置在Google Chrome或Firefox等網絡瀏覽器中的工作方式?網絡瀏覽器地理位置如何工作?
我可以訪問這個網站http://html5demos.com/geo,當我允許瀏覽器發送我的位置時,它會顯示我的當前位置。
但是,當我將該URL發送給我的朋友測試它時,它並不適用於所有人。地理位置如何工作以及如何實施地理位置以獲取正確的位置?
重新它是如何工作的:Wikipedia article討論了幾種技術(IP地址的位置,手機和WiFi三角測量,全球定位系統)。
在檢索地理位置數據之前,HTML5的實現需要用戶同意瀏覽器支持(FF 3.6,Opera 10.60,Chrome 4?5?,IE可能有一天)和。
至於如何實現它,code of the demo you link to似乎在MIT License之下,它基本上說「只要你把結果代碼保存在許可證下,你可以做任何事情」。所以你可以將該代碼作爲基礎來構建。
我從PC登錄,在我的大學使用代理連接到互聯網。它如何告訴我幾乎精確的位置,而我的電腦沒有GPS功能? – SMUsamaShah 2011-10-03 10:33:36
LifeH2O:引用自己:「維基百科文章討論了幾種技術(** IP地址位置**)」 - 也許代理服務器在物理上離你很近?這「幾乎確切」是什麼?準確度取決於 - 在大學裏,「我的」位置總是離開100英里,因爲那是代理的位置(是的,不是最佳的網絡設計;但是他們確實具有*位置校正到城市街區)。 – Piskvor 2011-10-03 10:59:15
當你訪問一個位置感知 網站,Firefox會詢問你是否 想分享你的位置。
如果您同意,Firefox收集關於附近無線 接入點和您的計算機的IP 地址的信息 。然後,Firefox將此 信息發送到默認地理位置 服務提供商,Google位置 服務,以獲得您的 位置的估計值。該位置估計爲 ,然後與請求的 網站共享。
http://www.mozilla.com/en-US/firefox/geolocation/
所以,這取決於他們所使用的瀏覽器和一些運氣:-)
我從電腦登錄,在我的大學使用代理連接到互聯網。它如何告訴我幾乎精確的位置,而我的電腦沒有GPS功能? – SMUsamaShah 2011-10-03 10:33:45
@ LifeH2O http://security.stackexchange.com/questions/16253/how-does-google-maps-know-where-i-am-when-im-using-a-vpn – 2014-06-02 15:40:56
事情真的取決於您正在使用的網站和您的瀏覽器的實施。
最簡單的方法,它不需要任何客戶端擴展是網頁獲取您的IP地址,並使用任何「IP到地理定位」服務來做一個questimate你目前的位置。
第二種選擇是瀏覽器有一個擴展,可以將您的座標通告給網絡服務器。在這些情況下,客戶端的這些信息可以從ip地址服務或連接到您計算機的gps單元中獲取。例如,諾基亞N900和內置瀏覽器MicroB都有這種擴展。
信息和實施例從W3C Geolocation API Specification:
地理位置API限定了高級別接口僅與設備託管 實現,如緯度和經度相關聯的位置信息 。不管底層位置信息來源如何,API本身都是 。常用的位置信息源包括全球定位系統 (GPS)以及從諸如IP地址, RFID,WiFi和藍牙MAC地址以及GSM/CDMA小區ID等網絡信號以及用戶輸入 推斷出的位置。無法保證API返回設備的實際位置 。
您可以實現這樣說:
(單次定位請求)
function showMap(position) {
// Show a map centered at (position.coords.latitude, position.coords.longitude).
}
// One-shot position request.
navigator.geolocation.getCurrentPosition(showMap);
(請求重複位置更新)
function scrollMap(position) {
// Scrolls the map so that it is centered at (position.coords.latitude, position.coords.longitude).
}
// Request repeated updates.
var watchId = navigator.geolocation.watchPosition(scrollMap);
function buttonClickHandler() {
// Cancel the updates when the user clicks a button.
navigator.geolocation.clearWatch(watchId);
}
你想它去努力一個網站?什麼平臺?你只想向用戶展示他在哪裏?或者你想顯示不同的位置? – Steven 2010-09-03 07:50:22
-1不使用搜索功能:http://stackoverflow.com/questions/2248404/about-geolocation-in-html-5 – BeRecursive 2010-09-03 07:53:14
5年後,一般你需要「允許」這一點。當然,這並不總是準確的,並且不會顯示「您的」位置,而是顯示瀏覽器主機的位置。所以VNC/RDP/SSH(w/X)會在你和你的「透露」位置之間留下一些距離。如果您的瀏覽器的主機具有GPS功能,代理服務器可能不會再有。同一子網上的智能手機(即公共和私人ips可用於後端搜索模式)可能會背叛你。 – mckenzm 2015-07-24 20:46:15