1
我正在開發一個node.js web應用程序,我正在使用mongoose和MongoDB進行存儲。這是一個凝膠應用程序。所以有時我必須找到存儲在數據庫中的10個最近的地方。我有這樣的方法來計算該距離:用貓鼬的自定義條件查找
var haversine = function(p1, p2) {
var R = 6371; // km
var dLat = toRad(p2.lat-p1.lat);
var dLon = toRad(p2.lon-p1.lon);
var lat1 = toRad(p1.lat);
var lat2 = toRad(p2.lat);
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
return d;
}
其中p1和p2是點{緯度:整數,經度:整數}。
那麼,我該怎麼做才能找到最近的地方?
謝謝!棒極了!!!! – 2012-08-14 09:46:41