更具描述性的错误代码

如果地理定位失败,你的回调函数将收到 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);
};