geolocation

zimablue·2023년 10월 3일

javascript

목록 보기
25/30

getCurrentPosition

navigator.geolocation.getCurrentPosition(successFn, errorFn, [options])

getCurrentPosition메서드는 현재 위치 가져올 수 있습니다.
이 메서드는 사용자의 위치를 탐지하는 비동기 요청을 시작하고, 위치를 알아내면 첫 번째 매개변수에, 오류가 발생하면 두 번째 매개변후로 지정할 수 있습니다.
선택 사항인 세 번째 매개변수는 위치 정보의 최대 수명, 요청의 최대 대기시간, 고정밀 위치정보 여부 등의 옵션을 담은 객체입니다.





watchPosition

navigator.geolocation.watchPosition(successFn[, errorFn[, options]])

watchPosition메서드는 장치의 위치가 바뀔 때마다 자동으로 호출할 처리기 함수를 등록할 때 사용합니다.
선택적으로 오류 발생 시 사용할 콜백 함수도 지정할 수 있습니다.





clearWatch

clearWatch() 메서드는 watchPosition() 메서드로 등록한 위치 변화 감지 콜백을 해제합니다.

let id = navigator.geolocation.watchPosition(successFn[, errorFn[, options]])

navigator.geolocation.clearWatch(id);





GeolocationPosition 객체

위치를 알아냈을 때 매개변수 positionconsole.log()으로 출력한 객체는 GeolocationPosition이며 포함하고 있는 속성은 아래와 같습니다.

function success(position) {
  console.log(position);
}

function error() {
  alert("Location information is not available");
}

navigator.geolocation.getCurrentPosition(success, error);
// 혹은
navigator.geolocation.watchPosition(success, error);



coords

function success(position) {
  console.log(position.coords)
}

주어진 시간의 위치를 나타내는 Coordinates 객체입니다.
GeolocationCoordinates 인터페이스는 지구상에서의 장치 위치와 고도, 그리고 이 정보들의 정확도를 나타냅니다.

accuracy

latitude와 longitude의 오차범위(정확도) 를 미터 단위의 double로 반환합니다.

function success(position) {
  console.log(position.coords.accuracy)
}

altitude

위치의 해발고도 를 미터 단위의 double로 반환합니다. 구현체가 고도 데이터를 제공하지 못하면 null입니다.

function success(position) {
  console.log(position.coords.altitude)
}

altitudeAccuracy

altitude의 오차범위(고도 정확도) 를 미터 단위의 double로 반환합니다. 이 값은 null일 수 있습니다.

function success(position) {
  console.log(position.coords.altitudeAccuracy)
}

heading

장치가 향한 방위를 나타내는 double을 반환합니다.
진북(真北)에서 벗어난 각도를 도(°) 단위로 표현한 값으로, 진북인 0부터 시계방향(동쪽은 90도, 서쪽은 270도)으로 나아갑니다.
speed가 0이면 heading은 NaN입니다. 장치가 heading을 제공하지 못하면 null입니다.

function success(position) {
  console.log(position.coords.heading)
}

latitude

위치의 위도 를 도(°) 단위의 double로 반환합니다.

function success(position) {
  console.log(position.coords.latitude)
}

longitude

위치의 경도 를 도(°) 단위의 double로 반환합니다.

function success(position) {
  console.log(position.coords.longitude)
}

speed

장치의 속도를 초속 미터 단위의 double로 반환합니다. 이 값은 null일 수 있습니다.

function success(position) {
  console.log(position.coords.speed)
}



timestamp

function success(position) {
  console.log(position.timestamp)
}

위치 정보의 기록 시점을 타임스탬프(Unix 시간 (en-US), 밀리초)로 나타냅니다.

0개의 댓글