HTML5 Geolocation API 用于獲得用戶(hù)的地理位置。
鑒于該特性可能侵犯用戶(hù)的隱私,除非用戶(hù)同意,否則用戶(hù)位置信息是不可用的。
注意:Geolocation(地理定位)對(duì)于擁有 GPS 的設(shè)備,比如 iPhone,地理定位更加精確。
Geolocation API 的主要方法是 getCurrentPosition,它用來(lái)獲得用戶(hù)的位置。
下面是一個(gè)簡(jiǎn)單的地理定位實(shí)例,可返回用戶(hù)位置的經(jīng)度和緯度:
var x=document.getElementById("demo"); function getLocation(){ if (navigator.geolocation){ navigator.geolocation.getCurrentPosition(showPosition); } else{ x.innerHTML="該瀏覽器不支持獲取地理位置。"; } } function showPosition(position){ x.innerHTML="緯度: " + position.coords.latitude + "<br>經(jīng)度: " + position.coords.longitude; }
實(shí)例解析:
檢測(cè)是否支持地理定位。
如果支持,則運(yùn)行 getCurrentPosition() 方法。如果不支持,則向用戶(hù)顯示一段消息。
如果 getCurrentPosition() 運(yùn)行成功,則向參數(shù) showPosition 中規(guī)定的函數(shù)返回一個(gè) coordinates 對(duì)象。
showPosition() 函數(shù)獲得并顯示經(jīng)度和緯度。
上面的例子是一個(gè)非?;A(chǔ)的地理定位腳本,不含錯(cuò)誤處理。
你需要先熟悉基本的 JavaScript 才能理解和使用 API。
如果 getCurrentPosition() 運(yùn)行成功,則 getCurrentPosition() 方法返回對(duì)象。始終會(huì)返回 latitude、longitude 以及 accuracy 屬性。如果可用,則會(huì)返回其他下面的屬性:
coords.latitude:十進(jìn)制數(shù)的緯度
coords.longitude:十進(jìn)制數(shù)的經(jīng)度
coords.accuracy:位置精度
coords.altitude:海拔,海平面以上以米計(jì)
coords.altitudeAccuracy:位置的海拔精度
coords.heading:方向,從正北開(kāi)始以度計(jì)
coords.speed:速度,以米/每秒計(jì)
timestamp:響應(yīng)的日期/時(shí)間