gpt4 book ai didi

javascript - 计算多个位置谷歌地图的距离

转载 作者:行者123 更新时间:2023-11-29 17:25:43 25 4
gpt4 key购买 nike

假设我有 3 个地点,即加冷 (A)、巴耶利峇 (B) 和勿洛 (C)。我尝试执行 A->B + B->C,但距离总是返回 A->C。为什么会这样??

加冷到巴耶利峇(A-B) -> 2.5914199062350742 公里

巴耶利峇到勿洛(B-C)-> 4.4403012109180775 公里

总计 (A-B-C) -> 7.03 公里

加冷到勿洛 (A-C) -> 6.88 公里

下面是我的代码:

var R = 6371; 
var dLat = toRad(location3.lat()-location2.lat()) + toRad(location2.lat()-location1.lat());
var dLon = toRad(location3.lng()-location2.lng()) + toRad(location2.lng()-location1.lng());

var dLat1 = toRad(location1.lat());
var dLat2 = toRad(location2.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;
}

是不是我的加减运算语句有问题???谢谢

最佳答案

您可以只使用 geometry library 中的内置 computeDistanceBetween 方法

关于javascript - 计算多个位置谷歌地图的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9023761/

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