1

HTML5 geolocation API を使用して緯度と経度の値を変数に保存するにはどうすればよいですか?

これは、w3schools からコピーした私のコードです。 コードが現在行っているように値を表示するだけでなく、座標を変数var x= position.coords.latitude; や varに保存するにはどうすればよいですか? y= position.coords.longitude;JavaScript初心者なのでやり方がわかりません

 <!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
<script>

var x=document.getElementById("demo");
window.onload = function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.watchPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude + 
  "<br />Longitude: " + position.coords.longitude;  
  }
</script>
</body>
</html>

私のアプリケーションでは、これらの変数の値を毎分サーバーに送信する必要があります。watchposition を使用して位置情報を取得するか、毎分 getcurrentposition を実行する関数を実行する方がよいでしょうか?

4

1 に答える 1

1

それらを変数に追加するのは次のように簡単です。

var lat = position.coords.latitude;
var lon = position.coords.longitude;

またはオブジェクトとして:

var coords = {lat: "", lon: ""};

次に、コードでオブジェクトを使用するには:

function showPosition(position)
{
   coords.lat = position.coords.latitude;
   coords.lon = position.coords.longitude;

   x.innerHTML="Latitude: " + coords.lat + 
   "<br />Longitude: " + coords.lon;  
}

変数をサーバーに送信することに関しては、これはサーバーサイドテクノロジーが何であるかによって異なりますが、Googleで多くの例を見つけることができます。

function sendToServer(){
   // here you can reuse the object to send to a server
   console.log("lat: " + coords.lat);
   console.log("lon: " + coords.lon);
}
于 2012-05-08T08:28:01.687 に答える