gpt4 book ai didi

javascript - 如何计算五个标记之间的距离?

转载 作者:行者123 更新时间:2023-11-30 18:33:16 25 4
gpt4 key购买 nike

如何计算 Google map V3 中五个标记之间的距离?我知道我必须使用我研究过的 Haversine 公式,甚至在这里找到了一篇关于计算两个标记之间距离的教学文章。如果我想在五个标记之间计算怎么办?已经尝试了几个小时,但计算出的公里数是错误的。谢谢

代码如下:

// compute distance between the two points
var R = 6371; // KM
var dLat = toRad(location5.lat()-location4.lat()-location3.lat()-location2.lat()-location1.lat());
var dLon = toRad(location5.lng()-location4.lng()-location3.lng()-location2.lng()-location1.lng());

var dLat1 = toRad(location1.lat());
var dLat2 = toRad(location2.lat());
var dLat3 = toRad(location3.lat());
var dLat4 = toRad(location4.lat());
var dLat5 = toRad(location5.lat());

var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(dLat1) * Math.cos(dLat1) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;

document.getElementById("distance_direct").innerHTML = "<br/><br/><br/>The distance between the five points (in a straight line) is: "+d +" Km.";
}

function toRad(deg)
{
return deg * Math.PI/180;
}

我想我的错误部分是以 var a 公式开头的行。如果我错了,请指出我的错误,也许有帮助的解决方案?

最佳答案

google maps V3 中的 computeLength() 函数应该可以满足您的需求,请参阅 http://code.google.com/intl/el/apis/maps/documentation/javascript/geometry.html#Distance

关于javascript - 如何计算五个标记之间的距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9007151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com