Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

HTML5 Geolocation PositionError 객체의 오류 코드 종류와 활용 방법

PositionError 객체란?

HTML5 Geolocation API를 사용할 때 위치 정보 조회에 실패하면 PositionError 객체가 반환됩니다. 이 객체는 오류의 원인을 식별할 수 있는 code 속성과 함께, 개발자가 상황에 맞게 적절히 대응할 수 있도록 다양한 오류 코드를 제공합니다.

아래 표는 PositionError 객체에서 반환될 수 있는 오류 코드들을 정리한 것입니다.

코드상수(Constant)설명
0UNKNOWN_ERROR알 수 없는 오류로 인해 기기의 위치 정보를 가져오는 데 실패했습니다.
1PERMISSION_DENIED애플리케이션에 위치 서비스 사용 권한이 없어 기기의 위치 정보를 가져오는 데 실패했습니다.
2POSITION_UNAVAILABLE기기의 현재 위치를 확인할 수 없습니다.
3TIMEOUT지정된 최대 제한 시간(timeout) 내에 위치 정보를 가져오지 못했습니다.

PositionError 활용 예제 코드

다음은 PositionError 객체를 실제로 활용하는 샘플 코드입니다. 여기서 errorHandler 메서드는 Geolocation API 호출 시 전달되는 콜백 함수 역할을 합니다.

function errorHandler( err ) {
   if (err.code == 1) {
      // 접근이 거부된 경우 (PERMISSION_DENIED)
   }
...
}

위 예제처럼 err.code 값을 검사하면 오류 유형에 따라 분기 처리가 가능합니다. 예를 들어 코드가 1인 경우 사용자에게 권한 허용을 요청하는 안내 메시지를 보여주고, 코드가 3인 경우 재시도 버튼을 제공하는 방식으로 사용자 경험을 개선할 수 있습니다.

참고 사항

PositionError 객체는 code 외에도 사람이 읽을 수 있는 오류 설명을 담고 있는 message 속성을 함께 제공합니다. 디버깅 시에는 message 속성을 함께 출력하면 원인 파악에 큰 도움이 됩니다.