Сортировать вычисленные площади - PullRequest
0 голосов
/ 25 августа 2011

У меня есть карты Google, и я получаю все маркеры, которые находятся рядом (lat, lng).С этой точкой все в порядке.

Теперь я хочу отсортировать маркеры тезисов, как, например, в SQL мы можем сделать «порядок по расстоянию ASC».

Я видел в javascript есть метод вызова метода sort(), который может сортировать некоторые числа, например, asc или desc.

маркеры имеют некоторую информацию: имя, название, пол, город, почтовый индекс ...

мой код:

 var nbMeters = 50000;  

for (var i = 0; i < markers.length; i++) {
        var myMarker = markers[i];

         coord2 = new google.maps.LatLng(myMarker.lat, myMarker.lng);
        var distance = google.maps.geometry.spherical.computeDistanceBetween(coords, coords2);


  if(distance <= nbMeters) {   

     alert(myMarker.name);
    //OK my marker is close the variable coords, good !
    //But how to know which marker is the closer, which is the second, the third ... and the less closer ??

  }

}

У вас есть идея?

1 Ответ

0 голосов
/ 25 августа 2011

Возможно попробуйте что-то вроде этого:

for (var i = 0; i < markers.length; i++) {
    var myMarker = markers[i];

    coord2 = new google.maps.LatLng(myMarker.lat, myMarker.lng);
    var distance = google.maps.geometry.spherical.computeDistanceBetween(coords, coords2);
    markers[i].distance = distance;
}

function sortMarkers(marker1, marker2) {
    return marker1.distance - marker2.distance;
}

markers.sort(sortMarkers);

Это не проверено и основано на http://www.w3schools.com/jsref/jsref_sort.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...