HTML 튜토리얼

HTML 홈 HTML 소개 HTML 편집기 HTML 기본 HTML 요소 HTML 속성 HTML 제목 HTML 단락 HTML 스타일 HTML 서식 HTML 인용문 HTML 주석 HTML 색상 HTML CSS HTML 링크 HTML 이미지 HTML 파비콘 HTML 테이블 HTML 목록 HTML 블록 및 인라인 HTML 클래스 HTML ID HTML 아이프레임 HTML 자바스크립트 HTML 파일 경로 HTML 헤드 HTML 레이아웃 반응형 HTML HTML 컴퓨터 코드 HTML 의미론 HTML 스타일 가이드 HTML 엔티티 HTML 기호 HTML 이모티콘 HTML 문자 집합 HTML URL 인코딩 HTML 대 XHTML

HTML 양식

HTML 양식 HTML 양식 속성 HTML 양식 요소 HTML 입력 유형 HTML 입력 속성 HTML 입력 양식 속성

HTML 그래픽

HTML 캔버스 HTML SVG

HTML 미디어

HTML 미디어 HTML 비디오 HTML 오디오 HTML 플러그인 HTML 유튜브

HTML API

HTML 지리적 위치 HTML 드래그/드롭 HTML 웹 스토리지 HTML 웹 작업자 HTML SSE

HTML 예제

HTML 예제 HTML 퀴즈 HTML 연습 HTML 인증서 HTML 요약 HTML 접근성

HTML 참조

HTML 태그 목록 HTML 속성 HTML 전역 속성 HTML 브라우저 지원 HTML 이벤트 HTML 색상 HTML 캔버스 HTML 오디오/비디오 HTML 문서 유형 HTML 문자 집합 HTML URL 인코딩 HTML 언어 코드 HTTP 메시지 HTTP 메소드 PX에서 EM으로의 변환기 키보드 단축키

HTML 지리적 위치 API


HTML Geolocation API는 사용자의 위치를 ​​찾는 데 사용됩니다.


사용자의 위치 찾기

HTML Geolocation API는 사용자의 지리적 위치를 얻는 데 사용됩니다.

이는 사생활을 침해할 수 있으므로 사용자가 승인하지 않는 한 해당 위치를 사용할 수 없습니다.

참고: 지리적 위치는 스마트폰과 같이 GPS가 있는 장치에서 가장 정확합니다.


브라우저 지원

표의 숫자는 Geolocation을 완전히 지원하는 첫 번째 브라우저 버전을 지정합니다.

API
Geolocation 5.0 - 49.0 (http)
50.0 (https)
9.0 3.5 5.0 16.0

참고: Chrome 50부터 Geolocation API는 HTTPS와 같은 보안 컨텍스트에서만 작동합니다. 사이트가 비보안 출처(예: HTTP)에서 호스팅되는 경우 사용자 위치 가져오기 요청이 더 이상 작동하지 않습니다.


HTML 지리적 위치 사용

getCurrentPosition()메서드는 사용자의 위치를 ​​반환하는 데 사용됩니다.

아래 예는 사용자 위치의 위도와 경도를 반환합니다.

예시

<script>
var x = document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
}
</script>

설명된 예:

  • 지리적 위치가 지원되는지 확인
  • 지원되는 경우 getCurrentPosition() 메서드를 실행합니다. 그렇지 않은 경우 사용자에게 메시지 표시
  • getCurrentPosition() 메서드가 성공하면 매개변수(showPosition)에 지정된 함수에 좌표 객체를 반환합니다.
  • showPosition() 함수는 위도와 경도를 출력합니다.

위의 예는 오류 처리가 없는 매우 기본적인 Geolocation 스크립트입니다.



오류 및 거부 처리

메소드 의 두 번째 매개변수는 getCurrentPosition()오류를 처리하는 데 사용됩니다. 사용자의 위치를 ​​가져오지 못하는 경우 실행할 함수를 지정합니다.

예시

function showError(error) {
  switch(error.code) {
    case error.PERMISSION_DENIED:
      x.innerHTML = "User denied the request for Geolocation."
      break;
    case error.POSITION_UNAVAILABLE:
      x.innerHTML = "Location information is unavailable."
      break;
    case error.TIMEOUT:
      x.innerHTML = "The request to get user location timed out."
      break;
    case error.UNKNOWN_ERROR:
      x.innerHTML = "An unknown error occurred."
      break;
  }
}

위치별 정보

이 페이지에서는 지도에서 사용자의 위치를 ​​표시하는 방법을 보여주었습니다.

지리적 위치는 다음과 같은 위치별 정보에도 매우 유용합니다.

  • 최신 지역 정보
  • 사용자 주변의 관심 지점 표시
  • 턴 바이 턴 내비게이션(GPS)

getCurrentPosition() 메서드 - 데이터 반환

메서드 는 getCurrentPosition()성공 시 개체를 반환합니다. 위도, 경도 및 정확도 속성은 항상 반환됩니다. 사용 가능한 경우 다른 속성이 반환됩니다.

Property Returns
coords.latitude The latitude as a decimal number (always returned)
coords.longitude The longitude as a decimal number (always returned)
coords.accuracy The accuracy of position (always returned)
coords.altitude The altitude in meters above the mean sea level (returned if available)
coords.altitudeAccuracy The altitude accuracy of position (returned if available)
coords.heading The heading as degrees clockwise from North (returned if available)
coords.speed The speed in meters per second (returned if available)
timestamp The date/time of the response (returned if available)

Geolocation 개체 - 기타 흥미로운 방법

Geolocation 객체에는 다른 흥미로운 방법도 있습니다.

  • watchPosition()- 사용자의 현재 위치를 반환하고 사용자가 이동함에 따라 업데이트된 위치를 계속 반환합니다(예: 자동차의 GPS).
  • clearWatch()- 메서드를 중지합니다 watchPosition().

아래 예는 watchPosition()방법을 보여줍니다. 이를 테스트하려면 정확한 GPS 장치(예: 스마트폰)가 필요합니다.

예시

<script>
var x = document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.watchPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}
function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
}
</script>