1

我的应用程序在 spring-hibernate 中。我也在使用 spring mobile 进行移动特定设计,我们想在 web 应用程序上跟踪用户的位置,以便它显示特定的数据。如何在 spring 应用程序中获取移动设备的位置。谢谢

代码来自 w3school:

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(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>
4

1 回答 1

0

好的。顺其自然。(在您的评论后更正)

你有下一个选择:

  • 使用浏览器 GeoLocation API。(从客户端使用浏览器地理定位 API)
  • 通过IP 地址使用大致位置。(从服务器端)
  • 为您的服务创建移动应用程序(在您的情况下,您可以尝试Phonegap 框架)。(从客户端使用本机 OS API)
  • 使用浏览器出口(并访问移动操作系统 API),但这是非法的。

地理位置 API

要求用户授予向您的服务器报告位置信息的权限。因此,用户可以选择拒绝访问位置
在您获得地理坐标后 - 您可以将其发送到您的服务器,即通过 ajax 调用。

$('#buttongeo').click(function(e) {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function(position) {
            $("#lat").val(position.coords.latitude);
            $("#lon").val(position.coords.longitude);
            // 
        }, 
        function(error) {
            alert('Error');         
        },{timeout:5000});
    }
    else{
        alert('no geolocation support');
    }
});

jsfiddle上的标记示例

于 2013-09-26T05:59:26.387 回答