智能手机与GPS传感器的地理定位

时间:2014-03-12 07:55:50

标签: android gps geolocation

我正在尝试使用以下代码获取用户的GeoLocation:

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

  <script>
    $(function() {

        var Geo={};

        if (navigator.geolocation) 
        {
           navigator.geolocation.getCurrentPosition(success, error);
        }

        //Get the latitude and the longitude;
        function success(position) {
            Geo.lat = position.coords.latitude;
            Geo.lng = position.coords.longitude;
            populateHeader(Geo.lat, Geo.lng);
        }

        function error(){
            console.log("Geocoder failed");
        }

        function populateHeader(lat, lng){
            $('#Lat').html(lat);
            $('#Long').html(lng);
        }

    });

  </script>
</head>

<body>
  <div class="geo-coords">
     GeoLocation: 
     <span id="Lat">lat: ...</span>°,
     <span id="Long">long: ...</span>°
  </div>
</body>
</html>

我在传统的台式机上尝试过它并且看起来工作正常(除了一些近似因为缺少GPS传感器)以及我在S4 Mini上的移动Firefox,但在最后一种情况下我怀疑这个位置总是由Wi决定-Fi或移动连接,而不是GPS传感器。事实上,即使我打开和关闭GPS,我的智能手机的位置也总是相同的,与Google地图上同一GPS检测到的真实位置完全不同。

我如何确定GPS传感器是使用的默认传感器?

或者,您是否有其他建议可以跟踪用户设备的位置? 谢谢

1 个答案:

答案 0 :(得分:0)

基本上,您只能获取API所提供的信息,并快速查看API文档:dev.w3.org我认为您可以做的最好,就是检查 coords.accuracy

还要记得设置启用enableHighAccuracy,这样你就可以获得更准确的值。