如何为Web应用程序捕获移动位置?

时间:2013-09-25 12:20:01

标签: mobile geolocation

我的应用程序处于spring-hibernate。我也使用spring mobile进行移动专用设计,我们希望在Web应用程序中跟踪用户的位置,以便显示特定数据。如何获取移动设备的位置spring application.Thanks

代码来自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>

1 个答案:

答案 0 :(得分:0)

确定。让它成为。(在您的评论后更正)

您有下一个选择:

  • 使用浏览器GeoLocation API。 (来自客户端使用浏览器地理位置API)
  • IP address使用大致位置。 (来自服务器端)
  • 为您的服务创建移动应用程序(在您的情况下,您可以尝试Phonegap framework)。 (从客户端使用本机OS API)
  • 使用浏览器expoits(以及访问移动OS 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

上的标记示例