有人可以告诉我如何使用getCurrentPosition手表position()函数?

时间:2016-04-12 16:32:00

标签: javascript jquery api google-maps

下面是我使用的代码,用于查找用户的位置。

if (navigator.geolocation) navigator.geolocation.getCurrentPosition(function(pos) {
        me = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
        infoWindow.setPosition(me);
          infoWindow.setContent('Location found.');
        },

    function(error) {
        handleLocationError(true, infoWindow, map.getCenter());
    });
    else {
        // Browser doesn't support Geolocation
        handleLocationError(false, infoWindow, map.getCenter());
      }
      function handleLocationError(browserHasGeolocation, infoWindow, pos) {
      infoWindow.setPosition(me);
      infoWindow.setContent(browserHasGeolocation ?
                            'Error: The Geolocation service failed.' :
                            'Error: Your browser doesn\'t support geolocation.');
    } 

我试图添加下面的手表位置功能,但它不起作用,我不确定它是如何工作的。

var watchID = navigator.geolocation.watchPosition(function(position) {
  (position.coords.latitude, position.coords.longitude);
});

 function getLocationUpdate(){
            if(navigator.geolocation){
               // timeout at 60000 milliseconds (60 seconds)
               var options = {timeout:60000};
               geoLoc = navigator.geolocation;
               watchID = geoLoc.watchPosition(showLocation, errorHandler, options);
            }

            else{
               alert("Sorry, browser does not support geolocation!");
            }

如果有人可以帮助我在地图上观看用户的位置,我会非常感激!非常感谢你。

1 个答案:

答案 0 :(得分:0)

watchPosition()方法用于注册每次设备位置更改时将自动调用的处理函数。您也可以选择指定错误处理回调函数。

此方法返回监视ID值,然后可以通过将处理程序传递给clearWatch()方法来取消注册处理程序。

要获取用户的当前位置,您可以调用getCurrentPosition()方法。这将启动异步请求以检测用户的位置,并查询定位硬件以获取最新信息。确定位置后,执行定义的回调函数。如果发生错误,您可以选择提供第二个回调函数。第三个可选参数是一个选项对象,您可以在其中设置返回位置的最大年龄,等待请求的时间以及您希望该位置的高精度。

如果位置数据发生变化(通过设备移动或更准确的地理信息到达),您可以设置使用更新的位置信息调用的回调函数。这是使用watchPosition()函数完成的,该函数具有与getCurrentPosition()相同的输入参数。回调函数被多次调用,允许浏览器在您移动时更新您的位置,或者提供更准确的位置,因为不同的技术用于地理定位您。

有关详细信息,请查看此documentation

另请查看此SO question