HTML5 위치정보
HTML5 위치정보는 사용자의 위치를 찾는 데 사용됩니다.
사용자 위치 찾기
HTML5 Geolocation API는 사용자의 지리적 위치를 얻는 데 사용됩니다.
본 기능은 이용자의 개인정보를 침해할 수 있으므로, 이용자의 동의 없이는 이용자의 위치정보를 이용할 수 없습니다.
브라우저 지원
Internet Explorer 9+, Firefox, Chrome, Safari 및 Opera에서 위치정보를 지원합니다.
참고: 지리위치(Geolocation) iPhone과 같이 GPS가 있는 기기의 경우 위치정보가 더 정확합니다.
HTML5 - 지리적 위치 사용
사용자 위치를 가져오려면 getCurrentPosition() 메서드를 사용하세요.
다음 예는 사용자 위치의 경도와 위도를 반환하는 간단한 지리적 위치 예입니다.
예
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p> <button onclick="getLocation()">点我</button> <script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else{x.innerHTML="该浏览器不支持获取地理位置。";} } function showPosition(position) { x.innerHTML="纬度: " + position.coords.latitude + "<br>经度: " + position.coords.longitude; } </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
인스턴스 분석:
위치정보가 지원됨
지원되는 경우 getCurrentPosition() 메서드를 실행합니다. 지원되지 않는 경우 사용자에게 메시지가 표시됩니다.
getCurrentPosition()이 성공적으로 실행되면 showPosition 매개변수에 지정된 함수에 좌표 객체를 반환합니다.
showPosition() 함수는 획득하여 표시합니다. 경도 및 위도
위의 예는 오류 처리가 없는 매우 기본적인 위치정보 스크립트입니다.
오류 및 거부 처리
getCurrentPosition() 메서드의 두 번째 매개변수는 오류를 처리하는 데 사용됩니다. 사용자 위치 획득 실패 시 실행할 함수를 지정합니다:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p> <button onclick="getLocation()">点我</button> <script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,showError); } else{x.innerHTML="Geolocation is not supported by this browser.";} } function showPosition(position) { x.innerHTML="纬度: " + position.coords.latitude + "<br>经度: " + position.coords.longitude; } function showError(error) { switch(error.code) { case error.PERMISSION_DENIED: x.innerHTML="用户拒绝对获取地理位置的请求。" break; case error.POSITION_UNAVAILABLE: x.innerHTML="位置信息是不可用的。" break; case error.TIMEOUT: x.innerHTML="请求用户地理位置超时。" break; case error.UNKNOWN_ERROR: x.innerHTML="未知错误。" break; } } </script> </body> </html>
Run Instance»
클릭 온라인 인스턴스를 보려면 "인스턴스 실행" 버튼
오류 코드:
권한이 거부됨 - 사용자가 위치 정보를 찾을 수 없습니다.
위치 없음 - 현재 위치를 얻을 수 없음
Timeout - 작업 시간 초과
결과를 map
as 지도에 결과를 표시하려면 Google Maps나 Baidu Maps와 같이 위도와 경도를 사용할 수 있는 지도 서비스에 액세스해야 합니다.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p> <button onclick="getLocation()">点我</button> <div id="mapholder"></div> <script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,showError); } else{x.innerHTML="该浏览器不支持获取地理位置。";} } function showPosition(position) { var latlon=position.coords.latitude+","+position.coords.longitude; var img_url="http://maps.googleapis.com/maps/api/staticmap?center=" +latlon+"&zoom=14&size=400x300&sensor=false"; document.getElementById("mapholder").innerHTML="<img src='"+img_url+"'>"; } function showError(error) { switch(error.code) { case error.PERMISSION_DENIED: x.innerHTML="用户拒绝对获取地理位置的请求。" break; case error.POSITION_UNAVAILABLE: x.innerHTML="位置信息是不可用的。" break; case error.TIMEOUT: x.innerHTML="请求用户地理位置超时。" break; case error.UNKNOWN_ERROR: x.innerHTML="未知错误。" break; } } </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
위 예에서는 반환된 위도 및 경도 데이터를 사용하여 Google 지도에 위치를 표시합니다(정적 이미지 사용).
Google 지도 스크립트
위 링크는 스크립트를 사용하여 마커, 확대/축소 및 드래그 옵션이 포함된 대화형 지도를 표시하는 방법을 보여줍니다.
특정 위치에 대한 정보
이 페이지에서는 지도에 사용자 위치를 표시하는 방법을 보여줍니다. 그러나 지리적 위치는 특정 위치에 대한 정보를 얻는 데에도 유용합니다.
예:
지역 정보 업데이트
사용자 주변 관심 장소 표시
-
대화형 자동차 내비게이션 시스템(GPS)
getCurrentPosition() 메서드 - 데이터 반환
T성공하면 getCurrentPosition() 메서드가 객체를 반환합니다. . 위도, 경도 및 정확도 속성은 항상 반환됩니다. 사용 가능한 경우 다른 다음 속성이 반환됩니다.
属性 | 描述 |
---|---|
coords.latitude | 十进制数的纬度 |
coords.longitude | 十进制数的经度 |
coords.accuracy | 位置精度 |
coords.altitude | 海拔,海平面以上以米计 |
coords.altitudeAccuracy | 位置的海拔精度 |
coords.heading | 方向,从正北开始以度计 |
coords.speed | 速度,以米/每秒计 |
timestamp | 响应的日期/时间 |
Geolocation 개체 - 기타 흥미로운 방법
watchPosition() - 사용자의 현재 위치를 반환하고 사용자가 이동할 때 업데이트된 위치를 계속 반환합니다(예: GPS 차에서).
clearWatch() - watchPosition() 메서드를 중지합니다.
다음 예에서는 watchPosition() 메서드를 보여줍니다. 이 예제를 테스트하려면 정확한 GPS 장치(예: iPhone)가 필요합니다.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p> <button onclick="getLocation()">点我</button> <script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.watchPosition(showPosition); } else{x.innerHTML="该浏览器不支持获取地理位置。";} } function showPosition(position) { x.innerHTML="纬度: " + position.coords.latitude + "<br>经度: " + position.coords.longitude; } </script> </body> </html>
Run Instance»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요