1

如何使用 HTML5 地理定位 API 将 lat 和 lng 值保存到变量中?

这是我的代码,从 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 进行地理定位或执行每分钟获取当前位置的函数会更好吗?

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 回答