js獲取地理位置的介面navigator.geolocation geolocation對象有三個方法 1.getCurrentPosition 2.watchPosition 3.clearWatch 一.getCurrentPosition方法用於獲取用戶的地理位置 格式:getCurrentP ...
js獲取地理位置的介面navigator.geolocation
geolocation對象有三個方法
1.getCurrentPosition
2.watchPosition
3.clearWatch
一.getCurrentPosition方法用於獲取用戶的地理位置
格式:getCurrentPosition(callback,[callback],[option])
第一個callback函數,用來處理成功獲取用戶地理位置的情況
函數會被傳入一個對象,該對象保存了有關本次定位的具體信息
該對象包含兩個屬性
timestamp 保存了獲取位置時的時間戳
croods 也是一個對象,保存了具體的位置信息
coords.latitude:緯度
coords.longitude:經度
coords.altitude:高度
coords.accuracy:所提供的以米為單位的經度和緯度估計的精確度
coords.altitudeAccuracy:所提供的以米為單位的高度估計的精確度
coords.heading: 移動的角度方向,相對於正北方向順時針計算
coords.speed:以米每秒為單位的設備的當前對地速度
第二個callback函數,用來處理獲取位置失敗的情況
該函數也會被傳入一個對象 包含了具體的錯誤信息
該對象包含兩個屬性
code 保存了錯誤的原因 值為1,2,3
1代表沒有許可權
2代表無法定位
3超時
message 保存了額外的錯誤信息
option 對象來決定定位的細節
option對象有三個屬性可以來描述定位的具體細節
enableHighAccuracy 預設為false 設置為true可以開啟更精準的定位,同時也會增加響應時間
timeout 設定超時時間 單位為毫秒 預設無限大 設置負數 會變為0
maximumAge 地理位置的緩存時間 預設為0 設置負數也為0
二.watchPosition
watchPosition的調用格式同等於getCurrentPosition,只不過watchPosition是不斷的獲取位置
調用watchPosition會返回一個值,把該值傳入clearWatch即可停止輪詢
定位失敗一次,也會導致watchPosition停止,然後調用第二個callback來處理錯誤
三.許可權
是否能正常使用該API,取決於用戶的選擇,位置信息往往屬於用戶的隱私,瀏覽器在使用定位時
通常會向用戶詢問,如果用戶拒絕,那麼定義處理失敗的回調函數是很有必要的