【发布时间】:2016-05-12 18:41:06
【问题描述】:
我有以下功能:
function successFunction(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var url= '<?php echo url("/") ?>/provider/location/set?lat='+lat+'&lng='+lng;
console.log(url);
$.ajax({
type: 'get',
url: '<?php echo url("/") ?>/provider/location/set?lat='+lat+'&lng='+lng,
success: function (msg) {
console.log("Location captured");
},
processData: false,
});
}
它的作用是发送打开该特定页面(选项卡)的用户的当前地理定位。这是整个脚本:
<script type="text/javascript">
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction);
} else {
alert('Parece que la Geolocalización, la cual se requiere para esta página, no está habilitado en su navegador. Por favor, utilice un navegador que lo soporta o active la opción.');
}
function successFunction(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var url= '<?php echo url("/") ?>/provider/location/set?lat='+lat+'&lng='+lng;
console.log(url);
$.ajax({
type: 'get',
url: '<?php echo url("/") ?>/provider/location/set?lat='+lat+'&lng='+lng,
success: function (msg) {
console.log("Location captured");
},
processData: false,
});
}
</script>
不好的是,它只有在用户不断刷新页面时才会发送。我一直在尝试让它每秒循环一次,以便 GEO 实时发送并且可以跟踪用户(这是用于汽车地理定位)。有没有办法可以实时发送信息或如何使 SetInterval 工作?这是我所拥有的,但它不起作用:
window.setInterval(successFunction, 1000);
【问题讨论】:
-
在 setInterval 调用中没有传递位置参数,只需要像在代码开头那样调用它(就像答案描述的那样)