위치 변경 감시

예를 들어 위치가 변경될 때마다 지도를 스크롤하기 위해 웹 응용 프로그램에서 위치 업데이트를 지속적으로 수신 대기하도록 요청할 수 있습니다. 이 항목에서는 웹 응용 프로그램을 호스팅하는 컴퓨터나 장치의 위치가 변할 때마다 geolocation 개체의 watchPosition 메서드를 사용하여 위치 업데이트를 받는 샘플을 제공합니다. 업데이트 수신을 중지하려면 clearWatch를 호출하여 watchPosition의 반환 값을 전달해 줍니다.

다음 예제에서 사용자가 예제의 Watch Latitude and Longitude 단추를 클릭할 경우 예제의 listenForPositionUpdates 함수가 호출됩니다. 이 함수는 위치 업데이트 수신 대기를 시작하도록 watchPosition을 호출하기 전에 geolocation 개체를 사용할 수 있는지 확인합니다. 업데이트가 발생하면 성공 호출 함수가 새 위도 및 경도 좌표를 사용하여 페이지의 텍스트 상자를 업데이트합니다. 사용자는 Clear Watch 단추를 클릭하여 업데이트 수신 대기를 중지합니다.


<!DOCTYPE html>    
<html>
<head>
<title>Geolocation API Example: Listening for Location Updates</title>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<script type="text/javascript">

function setText(val, e) {
    document.getElementById(e).value = val;
}

var nav = null; 
var watchID;

function listenForPositionUpdates() {
  if (nav == null) {
      nav = window.navigator;
  }
  if (nav != null) {
      var geoloc = nav.geolocation;
      if (geoloc != null) {
          watchID = geoloc.watchPosition(successCallback);
      }
      else {
          alert("geolocation not supported");
      }
  }
  else {
      alert("Navigator not found");
  }
}


function clearWatch(watchID) {
    window.navigator.geolocation.clearWatch(watchID);
}


function successCallback(position)
{
   setText(position.coords.latitude, "latitude");
   setText(position.coords.longitude, "longitude");
}


</script>
</head>
<body>
<label for="latitude">Latitude: </label><input id="latitude" /> <br />
<label for="longitude">Longitude: </label><input id="longitude" /> <br />
<input type="button" value="Watch Latitude and Longitude" onclick="listenForPositionUpdates()" /> 
<input type="button" value="Clear watch" onclick="clearWatch()" />

</body>
</html>


관련 항목

오류 처리
위치 인식 웹 페이지를 만드는 방법
현재 위치 가져오기
시간 제한 기간 지정

 

 

표시:
© 2014 Microsoft