私は現在店舗ロケータを作成しようとしています。私の現在のコードは、xmlファイルからストア情報を取得し、指定された半径内にあればdiv内に配置します。値ごとにJqueryを並べ替え
私の問題は、ちょうどxmlの内側に店舗を追加するということです。だから、私の場合はアルファベット順です。店名、住所、ウェブサイト、距離の4つの値があります。
私ができることをしたいのは、最短距離から最長の順にdivに配置することです。どうやってやるの?
ここで私はどうなるのか、コード
function searchxml(origin, rad) {
$(data).find("marker").each(function() {
var $marker = $(this);
var name = $marker.attr("name");
var website = $marker.attr("website");
var address = $marker.attr("address").replace('<', '<').replace('>', '>');
var lat = $marker.attr("lat");
var lng = $marker.attr("lng");
var latlng = new google.maps.LatLng(lat, lng);
var destination = new google.maps.LatLng(lat, lng);
var distance = google.maps.geometry.spherical.computeDistanceBetween(origin, destination);
var miles = Math.round(distance * 0.000621371192);
if (miles <= rad) {
$('#storeInfo').prepend('<div class="storeLocation"><div class="storeLeft"><span class="storeTitle">' + name + '</span></br><p class="storeAddress">' + address + '</p><a href="' + website + '">' + website + '</a></div><div class="storeRight"><span class="storeDistance">Distance: ' + miles + ' miles</span><a href="http://maps.google.com/maps?saddr=' + address + '&daddr=' + origin + '" class="storeDirections">Map It</span></div><div class="clear"></div></div>').html();
$('#map_canvas').gmap('addMarker', {
'position': destination,
'bounds': true
}).click(function() {
$('#map_canvas').gmap('openInfoWindow', {
'content': name + '<br/>' + address
}, this);
});
} else {}
});
}
距離を比較するカスタムソート機能を使用してください... – mowwwalker