getCurrentPosition()과 watchPosition() 둘 다 성공 콜백, 실패 콜백 외에도 PositionOptions 객체를 받을 수 있다.
PositionOptions객체를 사용하면 고정밀도 활성화 여부, 위치 정보의 캐시 수명(수명이 끝나기 전까지는 이전에 반환한 위치정보를 저장해 두었다가 같은 요청을 또 받는 경우 그대로 반환한다.), 위치 정보 요청의 응답의 최대 대기시간을 지정할 수 있다.
function success(position) {
doSomething(position.coords.latitude, position.coords.longitude);
}
function error() {
alert('Sorry, no position available.');
}
const options = {
enableHighAccuracy: true,
maximumAge: 30000, // 한 번 찾은 위치정보를 해당 초만큼 캐싱 (위치 정보의 캐시 수명)
timeout: 27000 // 주어진 초 안에 찾지 못하면 에러 발생
};
const watchID = navigator.geolocation.watchPosition(success, error, options);