我目前正在尝试创建商店定位器。我当前的代码从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 2012-03-27 20:25:20