Estoy leyendo un archivo json que se ve así:
[ { "name":"Mark Brown", "location":{ "lat":50.72423653147234, "lon":-0.6552093628538713 } }, { "name":"Nina Wright", "location":{ "lat":51.00351657212984, "lon":0.4104543851588729 } } ]Luego tengo un bucle que mostrará los datos en una lista en mi página.
$.getJSON(JsonFile, function(List){ var div = document.getElementById('list'); for( var i = 0; i < List.length;i++ ) { div.innerHTML = div.innerHTML + '<li>'+List[i].name+'</li>'; } }); Esto agregará la lista a <ul id="List"></ul>
Todo esto funciona muy bien, pero lo que debo hacer es ordenar los datos por ubicación en orden DESC antes de agregar los datos a mi página.
¿Cómo puedo hacer esto?
Necesita una devolución de llamada de clasificación con el delta de la distancia.
data.sort(function (a, b) { return ( checkDistance(fixedlat, fixedlon, a.location.lat, a.location.lon) - checkDistance(fixedlat, fixedlon, b.location.lat, b.location.lon) ); });