Javascript 如何在不渲染地图数据的情况下获取地图数据(谷歌地图)
我的数据库中有一个地址列表,我可以将其放入JS中的数组中,但从现在起我想显示我和它们之间的距离,如 我:华沙 数组[0]:柏林Javascript 如何在不渲染地图数据的情况下获取地图数据(谷歌地图),javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我的数据库中有一个地址列表,我可以将其放入JS中的数组中,但从现在起我想显示我和它们之间的距离,如 我:华沙 数组[0]:柏林 数组[1]:Moscov 数组[2]:阿姆斯特丹 数组[3]:伦敦 (数组元素包含精确的地址,上面的示例与伪代码类似) 我已经制作了一个脚本,可以获得地图上2个点之间的距离,但我正在渲染地图来实现这一点,这需要一些时间,所以如果我想一次显示20个距离条目,这是不可接受的 它不一定是距离数据,因为这可能是一个令人过意不去的问题,但我只想知道如何在不等待地图渲染的情况下获取
数组[1]:Moscov
数组[2]:阿姆斯特丹
数组[3]:伦敦
(数组元素包含精确的地址,上面的示例与伪代码类似) 我已经制作了一个脚本,可以获得地图上2个点之间的距离,但我正在渲染地图来实现这一点,这需要一些时间,所以如果我想一次显示20个距离条目,这是不可接受的
它不一定是距离数据,因为这可能是一个令人过意不去的问题,但我只想知道如何在不等待地图渲染的情况下获取任何数据。为什么要使用地图?您还可以使用其他方法 请看这里: 我自己也使用过“”方法:
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));