gpt4 book ai didi

javascript - 有人可以告诉我如何将 watchposition() 函数与 getCurrentPosition 一起使用吗?

转载 作者:行者123 更新时间:2023-12-03 07:12:24 25 4
gpt4 key购买 nike

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

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.');
}

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

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!");
}

如果有人可以帮助我在 map 上查看用户的位置,我将非常感激!非常感谢。

最佳答案

watchPosition()方法用于注册一个处理函数,每次设备位置发生变化时都会自动调用该函数。您还可以选择指定错误处理回调函数。

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

要获取用户的当前位置,可以调用getCurrentPosition()方法。这会发起一个异步请求来检测用户的位置,并查询定位硬件以获取最新信息。当位置确定后,执行定义的回调函数。您可以选择提供第二个回调函数,以便在发生错误时执行。第三个可选参数是一个选项对象,您可以在其中设置返回位置的最长期限、等待请求的时间以及是否希望位置具有高精度。

如果位置数据发生变化(由于设备移动或者更准确的地理信息到达),您可以设置一个回调函数,使用更新后的位置信息来调用该函数。这是使用 watchPosition() 函数完成的,该函数具有与 getCurrentPosition() 相同的输入参数。回调函数被多次调用,允许浏览器在您移动时更新您的位置,或者在使用不同的技术对您进行地理定位时提供更准确的位置。错误回调函数是可选的,就像 getCurrentPosition() 一样,可以重复调用。

有关更多信息,请查看此 documentation

另请检查此 SO question .

关于javascript - 有人可以告诉我如何将 watchposition() 函数与 getCurrentPosition 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36579130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com