我在地图上放置了标记,并在一个标记上标记您的位置(每次移动时更改),形成一个半径(圆形叠加层)。
有没有办法检查其他标记是否在这个圆形范围内?
更新:
我通过循环遍历每个其他标记并使用几何库计算您的标记与其他标记之间的距离,然后使用简单的if语句来检查其是否小于100米来解决了这个问题。
function checkAllChests() {
var Current = 0;
$.each(treasureArray, function() {
//var thisLocation = treasureArray[Current].getPosition();
var distanceBetween = Math.ceil(google.maps.geometry.spherical.computeDistanceBetween(treasureArray[Current].getPosition(), marker_me.getPosition()));
if(distanceBetween < 100) {
alert('CAN OPEN THIS CHEST');
}
Current++;
});
}
我要注意的是,上面的代码使用了jQuery,所以如果你没有使用jQuery,它将不起作用。