HTML5 Geolocation API 用于獲得用戶的地理位置。
鑒于該特性可能侵犯用戶的隱私,除非用戶同意,否則用戶位置信息是不可用的。
注意:Geolocation(地理定位)對于擁有 GPS 的設備,比如 iPhone,地理定位更加精確。
Geolocation API 的主要方法是 getCurrentPosition,它用來獲得用戶的位置。
下面是一個簡單的地理定位實例,可返回用戶位置的經(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; }
實例解析:
檢測是否支持地理定位。
如果支持,則運行 getCurrentPosition() 方法。如果不支持,則向用戶顯示一段消息。
如果 getCurrentPosition() 運行成功,則向參數(shù) showPosition 中規(guī)定的函數(shù)返回一個 coordinates 對象。
showPosition() 函數(shù)獲得并顯示經(jīng)度和緯度。
上面的例子是一個非常基礎的地理定位腳本,不含錯誤處理。
你需要先熟悉基本的 JavaScript 才能理解和使用 API。
如果 getCurrentPosition() 運行成功,則 getCurrentPosition() 方法返回對象。始終會返回 latitude、longitude 以及 accuracy 屬性。如果可用,則會返回其他下面的屬性:
coords.latitude:十進制數(shù)的緯度
coords.longitude:十進制數(shù)的經(jīng)度
coords.accuracy:位置精度
coords.altitude:海拔,海平面以上以米計
coords.altitudeAccuracy:位置的海拔精度
coords.heading:方向,從正北開始以度計
coords.speed:速度,以米/每秒計
timestamp:響應的日期/時間