Html5-geolocation-watchposition

提供:Dev Guides
移動先:案内検索

Geolocation watchPosition()API

説明

watchPositionメソッドは、デバイスの現在の地理的位置に関する定期的な更新を取得します。 場所は、方位と速度に関する情報とともに地理座標のセットとして表されます。

位置情報は、Positionオブジェクトで返されます。 各更新は、新しいPositionオブジェクトを返します。

構文

このメソッドの構文は次のとおりです-

watchPosition(showLocation, ErrorHandler, options);

パラメーター

ここにパラメータの詳細があります-

  • showLocation -これは、位置情報を取得するコールバックメソッドを指定します。 このメソッドは、返された位置情報を保存する Position オブジェクトに対応するオブジェクトを使用して非同期的に呼び出されます。
  • ErrorHandler -このオプションのパラメーターは、非同期呼び出しの処理中にエラーが発生したときに呼び出されるコールバックメソッドを指定します。 このメソッドは、返されたエラー情報を保存する PositionError オブジェクトで呼び出されます。
  • オプション-このオプションのパラメータは、位置情報を取得するためのオプションのセットを指定します。 (a)返される位置情報の精度(b)位置情報を取得するためのタイムアウト、および(c)キャッシュされた位置情報の使用を指定できます。

戻り値

watchPositionメソッドは、非同期呼び出しに関連付けられた一意のトランザクションID(番号)を返します。 このIDを使用して、watchPosition呼び出しをキャンセルし、位置情報の更新の受信を停止します。

<!DOCTYPE HTML>

<head>
   <html>

      <script type = "text/javascript">
         var watchID;
         var geoLoc;

         function showLocation(position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            alert("Latitude : " + latitude + " Longitude: " + longitude);
         }

         function errorHandler(err) {
            if(err.code == 1) {
               alert("Error: Access is denied!");
            } else if( err.code == 2) {
               alert("Error: Position is unavailable!");
            }
         }

         function getLocationUpdate(){

            if(navigator.geolocation){

              //timeout at 60000 milliseconds (60 seconds)
               var options = {timeout:60000};
               geoLoc = navigator.geolocation;
               watchID = geoLoc.watchPosition(showLocation, errorHandler, options);
            } else {
               alert("Sorry, browser does not support geolocation!");
            }
         }
      </script>
   </head>
   <body>

      <form>
         <input type = "button" onclick = "getLocationUpdate();" value = "Watch Update"/>
      </form>

   </body>
</html>

これにより、次の結果が生成されます–