Geolocation
- 精準度會因為你的裝置而有所不同
- 可以取得個人所在位置的資料
- 可以透過 IP 來計算你的所在位置
- 成功取得使用者的地理位置後,會回傳 Position 物件
判斷是否支援
navigator.geolocation // 因為 window 是全域變數,可以被省略
window.navigator.geolocation
watch
- 可用 watchPosition() 來持續追蹤使用者的地理位置
- 可用 clearWatch() 來停止追蹤使用者的位置
Position 物件的屬性
Property | Returns |
---|---|
coords | Coordinates 座標物件, 存放傳回之位置資訊 |
timestamp | 取得位置資訊之時間 (毫秒) |
Coordinates 物件的屬性
Property | Returns |
---|---|
latitude | 經度 |
longitude | 緯度 |
accuracy | 物置誤差 |
altitude | 高度 |
altitudeAccuracy | 高度誤差 |
heading | 移動方向 |
speed | 移動速度 |
Handling Errors
題庫解析*:7-03
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED: // 0
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE: // 1
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT: // 2
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR: // 3
x.innerHTML = "An unknown error occurred."
break;
}
}
延伸閱讀