2016-04-12 8 views
0

以下は、ユーザーの位置を特定するために使用したコードです。getCurrentPositionでwatch position()関数を使用する方法を誰かに教えてもらえますか?

if (navigator.geolocation) navigator.geolocation.getCurrentPosition(function(pos) { 
     me = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude); 
     infoWindow.setPosition(me); 
      infoWindow.setContent('Location found.'); 
     }, 

    function(error) { 
     handleLocationError(true, infoWindow, map.getCenter()); 
    }); 
    else { 
     // Browser doesn't support Geolocation 
     handleLocationError(false, infoWindow, map.getCenter()); 
     } 
     function handleLocationError(browserHasGeolocation, infoWindow, pos) { 
     infoWindow.setPosition(me); 
     infoWindow.setContent(browserHasGeolocation ? 
          'Error: The Geolocation service failed.' : 
          'Error: Your browser doesn\'t support geolocation.'); 
    } 

下記の時計位置機能を追加しようとしましたが、機能しません。どのように動作するのかわかりません。

var watchID = navigator.geolocation.watchPosition(function(position) { 
    (position.coords.latitude, position.coords.longitude); 
}); 

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!"); 
      } 

マップ上でユーザーの位置を見るのに役立つ人がいれば、本当にありがとう!どうもありがとうございました。

答えて

0

watchPosition()メソッドは、デバイスの位置が変更されるたびに自動的に呼び出されるハンドラ関数を登録するために使用されます。オプションで、エラー処理コールバック関数を指定することもできます。

このメソッドは、ウォッチID値を返します。このメソッドは、clearWatch()メソッドに渡すことでハンドラの登録を解除できます。

ユーザーの現在地を取得するには、getCurrentPosition()メソッドを呼び出すことができます。これにより、ユーザーの位置を検出するための非同期要求が開始され、最新の情報を取得するために位置決めハードウェアに照会されます。位置が決定されると、定義されたコールバック関数が実行されます。オプションで、エラーが発生した場合に実行される第2のコールバック関数を提供することができます。オプションの3番目のパラメータはオプションオブジェクトで、返される位置の最大経過時間、要求を待つ時間、およびその位置に対して高い精度が必要な場合に設定できます。

(デバイスの移動またはより正確な地理情報が到着した場合)位置データが変更された場合、その更新された位置情報で呼び出されるコールバック関数を設定できます。これは、入力パラメータがgetCurrentPosition()watchPosition()関数を使用して行われます。コールバック関数は複数回呼び出され、ブラウザの移動に合わせて場所を更新するか、別の手法を使用してより正確な場所を指定することができます。エラーコールバック関数は、getCurrentPosition()と同じようにオプションであり、繰り返し呼び出すことができます。

詳細についても、このSO questionこのdocumentation

チェックを確認してください。

関連する問題