如何在不渲染的情况下获取地图数据(谷歌地图)

时间:2015-04-30 21:29:44

标签: javascript google-maps google-maps-api-3

我的数据库中有一个地址列表,我可以在JS中放入数组,但是从现在开始我想显示我和它们之间的距离,比如

我是:华沙 阵列[0]:柏林
数组[1]:Moscov
阵列[2]:阿姆斯特丹 阵列[3]:伦敦

(数组元素包含精确的地址,上面的例子就像伪代码一样)

我已经创建了一个可以在地图上获得2点之间距离的脚本,但是我正在渲染地图来执行此操作,这需要一些时间,因此如果我想一次显示20个距离条目,这是不可接受的

它不一定是距离数据,因为这可能是一个令人难以置信的问题,但我只想知道如何在不等待地图渲染时间的情况下获取任何数据。

1 个答案:

答案 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));