* Geolocation API
- HTML5에서는 Geolocation API를 사용하여 GPS를 탑재한 단말기의 위치를 알 수 있음.
- Geolocation API를 활용한 웹 애플리케이션으로는 자신의 근처에 있는 가계를 찾는 기능 등을 생각할 수 있음.
- GPS 기능이 없는 단말기의 경우는 IP 주소 등으로 대략적인 위치를 추적함.
* Geolocation API 이용하기
- Geolocation API에는 위치 정보를 구하는 두 종류의 메서드가 마련되어 있음.
- 위치 정보를 한 번만 구하려면 아래와 같은 메서드를 사용해야 함.
navigator.geolocation.getCurrentPosition(suc, err, opt);
: 성공 시 호출되는 함수(필수)
: 실패 시 호출되는 함수
: 옵션
enableHighAccuracy |
고정밀도로 구할 것인지를 true 또는 false(기본값)로 지정 |
timeout |
타임아웃 시간(밀리초) |
maximunAge |
현재 위치의 남아 있는 시간(밀리초) |
- 위치 정보 취득에 성공하면 '성공 시 호출되는 함수'(이름은 임의)가 호출됨.
- 인수가 위치 정보 오브젝트로 되어 있기 때문에 각종 정보를 꺼낼 수 있음.
function suc(position) {
document.getElementById("output").innerHTML = "위도" + position.coords.latitude + " 경도" + position.coords.longitude;
}
- 위의 코드를 실행하면 예를 들어 아래와 같은 결과를 얻을 수 있음.
위도=37.566304 경도=126.978001
- position에 들어갈 속성
coords |
| |
|
latitude |
현재 위치 정보 |
longitude |
위도 | |
altitude |
고도(표고) | |
accuracy |
위도 경도의 정밀도[m] | |
altitudeAccuracy |
고도(표고)의 정밀도[m] | |
heading |
방위(북쪽이 0˚로 시계 방향) | |
speed |
진행 속도[m/s] | |
timestampPosition |
취득 시 시각 |
- 정보 취득 시 웹 브라우저가 '위치 정보를 취득해도 좋은가'라는 확인을 함.
* 현재 위치를 계속 취득하기
- 인수의 의미는 getCurrentPosition()과 동일함.
- '성공 시 호출되는 함수'는 위치 정보에 변경이 있었을 경우에만 호출됨.
var wid = navigator.geolocation.watchPosition(suc, err, opt);
계속 감시 ID
- 위치 정보 취득을 그만 둘 경우에는 clearWatch()메서드를 사용함.
var wid = navigator.geolocation.clearWatch(wid);
watchPosition() 메서드로 취득한 계속 감시 ID
내용 출처 : HTML5가 보이는 그림책 (ANK Co., Ltd 저, 성안당)
'Programming > HTML5' 카테고리의 다른 글
HTML5의 통신 관련 기술 (0) | 2017.05.19 |
---|---|
백그라운드와 오프라인 (0) | 2017.05.19 |
스토리지와 파일 (0) | 2017.05.19 |
그래픽 (0) | 2017.05.19 |
드로그 앤 드롭 지원 (0) | 2017.05.19 |
멀티미디어 지원 (0) | 2017.05.19 |
태그의 의미 부여 (0) | 2017.05.19 |
콘텐츠 모델 (Contents Model) (0) | 2017.05.19 |