更具描述性的錯誤程式碼

如果地理定位失敗,你的回撥函式將收到 PositionError 物件。該物件將包含名為 code 的屬性,其值為 123。這些數字中的每一個都表示不同型別的錯誤; 下面的 getErrorCode() 函式將 PositionError.code 作為其唯一引數,並返回一個字串,其中包含發生的錯誤的名稱。

var getErrorCode = function(err) {
  switch (err.code) {
    case err.PERMISSION_DENIED:
      return "PERMISSION_DENIED";
    case err.POSITION_UNAVAILABLE:
      return "POSITION_UNAVAILABLE";
    case err.TIMEOUT:
      return "TIMEOUT";
    default:
      return "UNKNOWN_ERROR";
  }
};

它可以像 geolocationFailure() 一樣使用:

var geolocationFailure = function(err) {
  console.log("ERROR (" + getErrorCode(err) + "): " + err.message);
};