이 글은 편집 검토가 필요합니다. 도울을 줄 수 있는 방법을 살펴보세요.
Summary
getCurrentPosition
메서드는 장치의 현재 위치를 얻어 내는 데 사용합니다.
Syntax
navigator.geolocation.getCurrentPosition(success, error, options)
Parameters
-
success
- 콜백 함수, Position 객체 하나를 입력 파라미터로 받습니다.
-
error
Optional -
선택적으로 사용하는 콜백 함수,
PositionError
객체 하나를 입력파라미터로 받습니다. -
options
Optional -
선택적인
PositionOptions
객체
Position 객체
Position
Position
객체는 아래의 프로퍼티를 갖는 자바스크립트 객체입니다 :
-
coords
-
Coordinates
객체, 현재의 위치를 정의하는 객체. -
timestamp
- 위치를 수집한 시간을 표현하는 숫자
Coordinates
Coordinates
객체는 아래의 프러퍼티를 갖는 자바스크립트 객체입니다 :
-
latitude
- 위도, 소수점을 포함하는 숫자.
-
longitude
- 경도, 소수점을 포함하는 숫자.
-
altitude
- 고도, 해수면을 기준으로 미터 단위, null 일 수 도 있습니다.
-
accuracy
- 미터로 위도와 경도의 정확도를 나타내는 숫자.
-
altitudeAccuracy
- 미터로 고도의 정확도를 나타내는 숫자, null 일 수 도 있습니다.
-
heading
-
장치가 움직이는 방향을 나타내는 숫자. 이 값은 정북에서 벗어난 각을 나타냅니다. 0도는 정북향을 나타내며 방향은 시계방향(동쪽은 90도이고, 서쪽은 270도라는 의미)입니다.
speed 값이 0이면
heading 값은
NaN
이 됩니다. 장치에서 heading 정보를 제공 할 수 없을 때 이 값은 null이 됩니다.
-
speed
- 장치의 속도를 나타내며, 초당 미터 값을 숫자로 나타냅니다. 이 값은 null 일 수 도 있습니다.
PositionError
PositionError
객체는 아래의 프러퍼티를 갖는 자바스크립트 객체입니다 :
-
code
-
에러 코드를 나타내는 숫자입니다. (
1
)권한 없음(permission denied), (2
) 위치확인 불가(position unavailable), (3
) 시간초과(timeout) 중에 하나의 값이 됩니다. -
message
- 사람이 읽을 수 있는 에러 메시지를 문자열로 표혀합니다.
PositionOptions
PositionOptions
객체는 아래의 프러퍼티를 갖는 자바스크립트 객체입니다 :
-
enableHighAccuracy
-
최대한 정확도를 높게 받을 것인지를 지시하는 불리언 값입니다.
true
값을 지정하면 장치에서 정확도가 높은 위치 정보를 제공 할 수 있으면 제공해 줍니다. 이것은 응답 시간이 느려지거나 전력소비(예:모바일 장치의 GPS 칩)가 늘어 나니까 주의해야 합니다. 반대로false를 지정하면
장치는 적은 전력을 사용하든 빠른 응답을 하든 자원을 적절히 사용할 자유를 갖게 됩니다. -
timeout
-
위치 값을 장치로 부터 받을 때 까지 최대한 대기할 시간을 양의 정수(천분의 일초 단위)로 지정합니다. 기본값은
Infinity
이며,getCurrentPosition()
는 위치값이 가능 할때 까지 반환하지 않습니다. -
maximumAge
-
캐시된 위치 값을 반환 받아도 되는 최대한의 시간을 천분의 일초 단위로 양의 정수로 나타냅니다.
0을 지정하면
캐시된 위치를 사용하지 말라는 의미이고, 반드시 실제 현재 위치를 수집하고자 하는 것을 나타냅니다.Infinity
를 지정하면 장치는 캐시된 위치 정보 중 언제 수집되었는지 개의치 않고 반환 합니다.
예제
var options = { enableHighAccuracy: true, timeout: 5000, maximumAge: 0 }; function success(pos) { var crd = pos.coords; console.log('Your current position is:'); console.log('Latitude : ' + crd.latitude); console.log('Longitude: ' + crd.longitude); console.log('More or less ' + crd.accuracy + ' meters.'); }; function error(err) { console.warn('ERROR(' + err.code + '): ' + err.message); }; navigator.geolocation.getCurrentPosition(success, error, options);
Specifications
Specification | Status | Comment |
---|---|---|
Geolocation API | Recommendation | Initial specification. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 5 | 3.5 (1.9.1) | 9 | 10.60 | 5 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | ? | 4.0 (4) | ? | 10.60 | ? |