每10.5秒更新foreach中的项目
Update item from foreach every 10.5 seconds
所以我有这个代码:
$.getJSON( "fetch-beacons.php", function( beacons ) {
beacons.forEach(function(beacon) {
if (beacon.uid != "<?php echo $uid ?>"){
var circle = new google.maps.Circle({
strokeColor: '#add8e6',
strokeOpacity: 0.8,
fillColor: '#add8e6',
fillOpacity: 0.35,
map: map,
center: new google.maps.LatLng(Number(beacon.lat), Number(beacon.lng)),
radius: Number(beacon.radius)
});
circle.addListener('click', function() {
post('claimcreds.php', {id: beacon.id, cid: <?php echo $uid ?>, uid: beacon.uid, lat: pos.lat, lng: pos.lng, claimattempt: "true"});
});
}
else {
var circle = new google.maps.Circle({
strokeColor: '#ffa500',
strokeOpacity: 0.8,
fillColor: '#ffa500',
fillOpacity: 0.35,
map: map,
center: new google.maps.LatLng(Number(beacon.lat), Number(beacon.lng)),
radius: Number(beacon.radius)
});
}
});
});
它从JSON文档中获取一些圆的详细信息,并且工作得很好。问题是,我想每隔10秒检查一次圆圈的位置与另一个位置(我们称之为pos
),看看pos
是否在圆圈内。
据我所知,执行此操作的方法是google.maps.geometry.spherical.computeDistanceBetween(circle.center, pos);
,然后查看半径是否大于或小于该半径,但我不确定如何每十秒钟执行一次,因为圆变量在beacons.forEach
语句循环时不会保存。
有人能帮忙吗?很抱歉,如果我问的不清楚/如果代码有点乱,呵呵:)
我想我会做这样的事情。首先定义一个全局函数,如:
function checkDistance(circle) {
var distance = google.maps.geometry.spherical.computeDistanceBetween(circle.getCenter(), pos);
if (distance > x) {
alert('ok');
}
}
它需要一个参数circle
。我假设pos
是一个可以访问的全局变量。
然后在forEach循环中,在if-else语句之后(假设您想将其应用于这两种圆),以10.5秒的间隔调用该函数。它使用您刚刚创建的circle
变量作为传递给函数的参数:
setInterval(checkDistance, 10500, circle);
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- Foreach无法在Typescript中工作
- 如何获取不属于我项目的上一页的URL
- $rootScope未使用forEach进行更新
- 如何制作简单的php'在Javascript中的foreach等价物
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- AngularJS ForEach将新项目推送到对象中
- 在 foreach 中选择特定的单选项目
- KnockoutJS从可观察数组中删除项目.Item 是 ul 中的列表项,由 foreach 生成
- 每10.5秒更新foreach中的项目
- Foreach项目悬停在不同的背景上
- js foreach在未显示的项目列表上
- Foreach循环不显示@Html.DisplayFor中项目之间的空格
- KnockoutJS foreach list - post到服务器上的项目更改,最佳实践