需要编写以下函数来计算给定3个输入的距离:
需要找到2到3之间的距离,并牢记循环的方向。
P.S。,更像Google如何根据给定路线的两个点来查找距离。但是不能使用Google API。
答案 0 :(得分:1)
Here,您可以找到公式和JS代码以获取坐标之间的距离
JavaScript:
var R = 6371e3; // metres
var φ1 = lat1.toRadians();
var φ2 = lat2.toRadians();
var Δφ = (lat2-lat1).toRadians();
var Δλ = (lon2-lon1).toRadians();
var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) +
Math.cos(φ1) * Math.cos(φ2) *
Math.sin(Δλ/2) * Math.sin(Δλ/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
据我了解,您必须按顺序检查点与所有停止节点之间的距离。
P-S[i]
和P-S[i+1]
的最小距离总和显示了与该点最接近的线段(并不总是起作用,例如,对于自相交路径等)