Google Maps LatLngBounds Contains函数始终返回true

时间:2013-01-19 21:40:37

标签: google-maps google-maps-api-3 google-maps-markers

我想在拖动另一个Marker的同时实现对Marker功能的捕捉。

我有一个功能可以检查两个标记是否“关闭”:(从here得到)

function arePointsNear(point1, point2) {
    var sw = new google.maps.LatLng(point2.lat() - 0.005, point2.lng() - 0.005);
    var ne = new google.maps.LatLng(point2.lat() + 0.005, point2.lng() + 0.005);
    var bounds = new google.maps.LatLngBounds(sw, ne);
    return bounds.contains(point1);
};

现在,在标记的拖动事件上,我喜欢这样:

for (var index in allMarkers) {
    if(allMarkers[index] == marker) {
        continue;
    }

    var point1 = allMarkers[index].position;
    var point2 = marker.position;

    // This always returns true
    var isClose = arePointsNear(point1, point2);
}

我做错了吗?

1 个答案:

答案 0 :(得分:0)

算法正在运行..问题出在我的代码中。我正在检查相同标记的位置,而不是两个标记的位置。