Latest web development tutorials

HTML5의 geopositioning

HTML5 위치 정보 (geopositioning)는 사용자의 위치를 ​​찾는 데 사용.


사용자의 위치를 ​​찾습니다

HTML5 위치 정보 API는 사용자의 위치를 ​​얻을 수 있습니다.

사용자가 동의 그렇지 않으면, 사용자의 프라이버시를 침해 할 수있다이 기능의 관점에서, 사용자 위치 정보를 사용할 수 없습니다.


브라우저 지원

Internet ExplorerFirefoxOperaGoogle ChromeSafari

인터넷 익스플로러 9 이상, 파이어 폭스, 크롬, 사파리와 오페라 지원 위치 정보 (지리적 위치).

참고 사항 : 아이폰,보다 정확한 geopositioning으로 GPS와 장치에 대한 위치 정보 (geopositioning을).


HTML5 - 사용 지역 타겟팅

사용자의 위치를 ​​얻을 수 getCurrentPosition () 메서드를 사용합니다.

다음 예는 단순한 지리적 위치 인스턴스, 사용자는 위치의 위도와 경도로 돌아갈 수 있습니다 :

VAR X = document.getElementById를 ( "데모");
함수의 getLocation ()
{
경우 (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition (showPosition);
}
그렇지 않으면
{
x.innerHTML = "이 브라우저가 위치를 얻기 지원하지 않습니다.";
}
}

기능 showPosition (위치)
{
x.innerHTML = "위도 :"+ position.coords.latitude +
"경도로 <br> :"+ position.coords.longitude을;
}

»시도

분석의 예 :

  • 그것은 geopositioning 시험을 할 때
  • 지원되는 경우, getCurrentPosition () 메소드를 실행합니다. 그렇지 않으면, 사용자에게 메시지를 표시한다.
  • getCurrentPosition ()가 성공하면 함수는 showPosition 대상 좌표에 지정된 매개 변수를 반환
  • showPosition () 함수를 검색하여 위도 및 경도를 표시

위의 예는 매우 기본적인 geopositioning 스크립트 오류없이 처리합니다.


오류 처리 및 거부

오류를 처리하기위한 두 번째 매개 변수의 getCurrentPosition () 메소드. 그것은 사용자의 위치가 실패했을 때 get 함수를 실행할 때 지정

함수되고 showError (오류)
{
스위치 (error.code)
{
경우 error.PERMISSION_DENIED :
x.innerHTML는 = "사용자가 위치 요청을받을 것을 거절했다."
휴식;
경우 error.POSITION_UNAVAILABLE :
x.innerHTML = "위치 정보를 사용할 수 없습니다."
휴식;
경우 error.TIMEOUT :
x.innerHTML = "요청 사용자 위치 시간이 초과되었습니다."
휴식;
케이스 error.UNKNOWN_ERROR :
x.innerHTML는 = "알 수없는 오류가 발생했습니다."
휴식;
}
}

»시도

오류 코드 :

  • 권한이 거부 - 사용자가 geopositioning을 사용할 수 없습니다
  • 사용할 수없는 위치 - 현재 위치를 가져올 수 없습니다
  • 제한 시간 - 작업 시간이 초과되었습니다

지도에서 결과 표시

지도에 결과를 표시하려면, 당신은 위도와 구글지도 또는 바이두지도 등지도 서비스의 경도를 사용하여 액세스해야 :

기능 showPosition (위치)
{
var에 latlon = position.coords.latitude + ","+ position.coords.longitude;

var에 img_url = "http://maps.googleapis.com/maps/api/staticmap?center="
+ Latlon + "& 줌 = 14 크기 = 400x300 & 센서 = 거짓";
중요 document.getElementById ( "mapholder") innerHTML을 = "<IMG SRC = '"+ img_url + "'>";
}

»시도

위의 예에서 우리는 구글지도에서 (정적 이미지를 사용하여) 표시 위치에 의해 반환 위도와 경도 데이터를 사용합니다.

Google지도 스크립트
위의 링크는 어떻게 마커, 줌 및 드래그 옵션을 사용하여 대화 형지도를 표시하는 스크립트를 사용하는 방법을 보여줍니다.


정보 지정된 위치에

이 페이지는지도에 사용자의 위치를 ​​표시하는 방법을 보여줍니다. 주어진 위치 그러나 지리적 위치 정보는 매우 유용합니다.

예 :

  • 지역 정보를 업데이트
  • 사용자 주변의 관심의 표시 점
  • 인터랙티브 차량 항법 시스템 (GPS)

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

T가 성공하면, getCurrentPosition () 메서드는 개체를 반환합니다. 항상 위도, 경도 및 정확성 속성을 반환합니다. 가능한 경우, 다음과 같은 추가 속성이 반환됩니다.

属性 描述
coords.latitude 十进制数的纬度
coords.longitude 十进制数的经度
coords.accuracy 位置精度
coords.altitude 海拔,海平面以上以米计
coords.altitudeAccuracy 位置的海拔精度
coords.heading 方向,从正北开始以度计
coords.speed 速度,以米/每秒计
timestamp 响应的日期/时间


위치 정보 객체 - 다른 흥미로운 방법

watchPosition은 () - 사용자의 현재 위치를 반환하고, (차에 GPS 같은) 업데이트 된 위치를 반환 할 때 사용자의 움직임을 계속합니다.

clearWatch () - 정지 watchPosition () 메소드

다음의 예는 watchPosition () 메소드를 보여줍니다. 당신은 (예 : 아이폰 등)의 경우를 테스트하기 위해 정확한 GPS 장치가 필요합니다 :

VAR X = document.getElementById를 ( "데모");
함수의 getLocation ()
{
경우 (navigator.geolocation)
{
navigator.geolocation.watchPosition (showPosition);
}
그렇지 않으면
{
x.innerHTML = "이 브라우저가 위치를 얻기 지원하지 않습니다.";
}
}
기능 showPosition (위치)
{
x.innerHTML = "위도 :"+ position.coords.latitude +
"경도로 <br> :"+ position.coords.longitude을;
}

»시도