Geolocation API

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Geolocation API는 사용자의 동의 하에 웹 애플리케이션에서 위치 정보에 접근할 수 있는 API입니다. 개인정보 보호를 위해, 브라우저는 위치 정보를 제공하기 전에 사용자에게 위치 정보 권한에 대한 확인을 받습니다.

Geolocation 객체를 사용하려는 WebExtension은 매니페스트에 "geolocation" 권한을 추가해야 합니다. 사용자의 운영 체제는 WebExtension이 처음으로 위치 정보를 요청하는 순간 사용자에게 정보 제공 여부를 물어봅니다.

개념과 사용법

사용자의 위치를 지도에 표시하거나 위치 기반 개인화 정보를 제공하는 등, 웹 앱에서 위치 정보를 가져와야 하는 이유는 다양합니다.

Geolocation API는 navigator.geolocation을 통해 접근할 수 있습니다. 이때, 브라우저는 사용자에게 위치 정보 접근 권한을 요청하게 되고, 사용자가 동의하는 경우 현재 장치에서 사용 가능한 최선의 방법(GPS 등)을 통해 위치 정보를 가져옵니다.

개발자는 이 위치 정보를 몇 가지 방법으로 가져올 수 있습니다.

두 메서드 모두 최대 세 개의 매개변수를 받습니다.

  • 필수로 제공하는 성공 콜백: 위치 정보를 성공적으로 가져온 경우, 위치 데이터를 담은 GeolocationPosition 객체를 유일한 매개변수로 하여 콜백을 호출합니다.
  • 선택적으로 제공하는 실패 콜백: 위치 정보를 가져오지 못한 경우, 실패 원인을 담은 GeolocationPositionError (en-US) 객체를 유일한 매개변수로 하여 콜백을 호출합니다.
  • 선택적으로 제공하는 객체: 위치 정보 회수에 사용할 옵션을 지정합니다.

Geolocation 사용법에 대한 추가 정보는 Geolocation API 사용하기 문서를 참고하세요.

인터페이스

Geolocation

Geolocation API의 주요 클래스로서 사용자의 현재 위치를 가져오고, 위치 변경을 감지하고, 이전에 등록했던 감지기를 제거하는 메서드를 담고 있습니다.

GeolocationPosition

사용자의 위치를 나타냅니다. GeolocationPosition 인스턴스는 Geolocation 객체 메서드의 성공 콜백에 제공되며, 타임스탬프와 함께 GeolocationCoordinates 객체 인스턴스를 포함합니다.

GeolocationCoordinates

사용자 위치의 좌표를 나타냅니다. GeolocationCoordinates 인스턴스는 위도, 경도 외에도 기타 중요한 관련 정보를 포함합니다.

GeolocationPositionError (en-US)

GeolocationPositionErrorGeolocation 객체 메서드의 오류 콜백에 제공되며, 오류 코드와 오류 메시지를 담고 있습니다.

API 진입점입니다. Geolocation API의 모든 기능을 제공하는 Geolocation 객체 인스턴스를 반환합니다.

예제

Geolocation API 사용하기에서 예제를 확인하세요.

명세

Specification
Geolocation API
# geolocation_interface

브라우저 호환성

BCD tables only load in the browser

가용성

Wi-Fi 기반의 위치 정보는 보통 Google이 제공하므로, 기본 Geolocation API로는 중국에서 사용하지 못할 수도 있습니다. 대신 Baidu, Autonavi, Tencent 등 지역 서드파티 제공자가 지원하는 라이브러리를 사용할 수 있습니다. 이 서비스들은 Wi-Fi 대신 IP 주소와 지역 앱을 사용해 개선된 위치 정보를 제공합니다.

같이 보기