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;
    }
}

延伸閱讀

results matching ""

    No results matching ""