0

別のマーカーをドラッグしながら、マーカーへのスナップ機能を実装したいと考えています。

2 つのマーカーが「近い」かどうかをチェックする関数があります: (ここから取得)

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

私は何か間違ったことをしていますか?

4

1 に答える 1

0

アルゴリズムは機能しています..問題は私のコードの中にありました. 2 つのマーカーではなく、同じマーカーの位置を確認していました。

于 2013-01-19T22:08:16.780 に答える