我的数据库中有一个地址列表,我可以在JS中放入数组,但是从现在开始我想显示我和它们之间的距离,比如
我是:华沙 阵列[0]:柏林(数组元素包含精确的地址,上面的例子就像伪代码一样)
我已经创建了一个可以在地图上获得2点之间距离的脚本,但是我正在渲染地图来执行此操作,这需要一些时间,因此如果我想一次显示20个距离条目,这是不可接受的
它不一定是距离数据,因为这可能是一个令人难以置信的问题,但我只想知道如何在不等待地图渲染时间的情况下获取任何数据。
答案 0 :(得分:0)
为什么你要使用地图呢?您可以使用其他方法。
见这里:http://www.movable-type.co.uk/scripts/latlong.html
我自己使用了“haversine”方法:
function haversine() {
var radians = Array.prototype.map.call(arguments, function(deg) { return deg/180.0 * Math.PI; });
var lat1 = radians[0], lon1 = radians[1], lat2 = radians[2], lon2 = radians[3];
var R = 6372.8; // km
var dLat = lat2 - lat1;
var dLon = lon2 - lon1;
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.asin(Math.sqrt(a));
return R * c;
}
console.log(haversine(36.12, -86.67, 33.94, -118.40));