Javascript) Geolocation API의 사용
- Geolocation API는 javascript 기반에서 사용자의 위치에 대한 정보를 가져오는 API이다.
- 코드상에서 navigator.geolocation 을 통해 접근한다
- getCurrentPosition() : 현재 위치를 가져온다
- watchPosition() : 장치의 위치가 바뀔 때마다, 자동으로 새로운 위치를 사용해 호출할 함수를 등록한다.
- 이 두 메서드는 최대 세 개의 매개변수를 받는다.
- 성공적으로 위치를 가져오는 경우 호출되는 position 매개변수를 가지는 콜백 함수(필수)
- 에러시 호출되는 error매개변수를 가지는 함수.
- 위치정보 회수에 적용할 PositionOptions.
- enableHighAccuracy - 높은 정확도로 수시하고 싶을 시 boolean 타입으로 적용
- timeout - 위치를 반홚는 최대시간을 적용하는 밀리초의 long타입 값
- maximumAge - 캐시에 저장한 위치정보를 대신 반환할 수 있는 최대 밀리초, long타입 값
- 예시 코드
- 주의 - 로컬이 아닌 실제로 서버에 배포할 시 위치관련 정보는 보안문제로 인해 https가 적용된 웹에서만 Geolocation을 사용가능하다.
- 그렇지 않을 시 다음과 같은 메세지와 함께 사용이 중단 된다.
if(navigator.geolocation){ //geolocation을 지원하는 브라우져인지 확인
navigator.geolocation.getCurrentPosition((position)=>{
this.getWeatherData(position);
},
(error)=>{
console.log(error.message);
alert('사용자의 위치를 알 수 없습니다.');
this.getWeatherData();
});
}else{
this.getWeatherData();
}
댓글
댓글 쓰기