본문 바로가기

Programming diary

19. October 13, 2020

Geolocation API

개념과 사용법

사용자의 현재 위치를 지도에 표시하거나 위치 기반 개인화 정보를 제공하는 등, 웹 앱에서 위치 정보를 가져와야 하는 경우가 종종 있습니다.

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

위의 과정이 끝난 후, 코드에서는 몇 가지 다른 방법으로 위치 정보를 가져올 수 있습니다.

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

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

출처: developer.mozilla.org/ko/docs/Web/API/Geolocation_API

 

Geolocation API

Geolocation API는 사용자가 원할 경우 웹 애플리케이션에 위치 정보를 제공할 수 있는 API입니다. 개인정보 보호를 위해, 브라우저는 위치 정보를 제공하기 전에 사용자에게 위치 정보 권한에 대한 �

developer.mozilla.org

 

 

 

활용

 

 

 

<script>
const successCallback = (position)=> {
let current_latitude = position.coords.latitude
let current_longitude = position.coords.longitude
alert ('현재위도: ' + current_latitude + ', 현재경도: ' + current_longitude)
}
const errorCallback = (error) => {
console.log(error)
}

function getLocation() {
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
}
</script>
</head>
<body>

<h1>현재위치 가져오기</h1>
<button onclick="getLocation()">허용</button>

 

 

 

이제 이 가져온 위도와 경도 데이터를 가지고 지도에 마킹하거나, 위치를 기반으로 근처의 서비스를 제공하는 등으로 활용이 될 수 있다.

 

'Programming diary' 카테고리의 다른 글

21. October 22, 2020  (0) 2020.10.22
20. October 18, 2020  (0) 2020.10.18
18. October 11, 2020  (0) 2020.10.11
17. October 7, 2020  (0) 2020.10.07
16. October 4, 2020  (0) 2020.10.04