如何在Javascript中获取两点折线之间固定数量的坐标
How to get a fixed number of coordinates between two points polyline in Javascript
我正在寻找一种方法来找到 Javascript 中两点之间的多个坐标(我不需要距离或中点)。
假设我有这两点:
- A点(左)纬度:39.091868经度:-9.263187
- B 点(右)纬度:
39.089815 长:-9.261857
我想在 A 点和 B 点之间生成例如 20 个坐标。
我尝试使用这段 Javacript 代码(在旧线程上找到):
Point = function(x, y) {
this.x = x;
this.y = y;
}
var pointA = new Point(39.091868, -9.263187);
var pointB = new Point(39.089815, -9.261857);
var numberOfPoints = 20;
var points = new Array();
for (var i = 0; i < numberOfPoints; i++) {
points.push(new Point((Math.abs(pointA.x - pointB.x) / 10) * i + pointB.y, (Math.abs(pointA.y - pointB.y) / numberOfPoints) * i + pointB.y));
}
console.log(points);
当我运行上面的代码时,它打印出点A和B之间点数组的20个值。但是,它似乎只存储了点的正确经度值。 (x 和 y 都显示经度值)。
例如points数组的第一项是:
Point x: -9.261857 y: -9.261857
我应该如何调整for循环内的计算,使A点和B点之间的每个点也存储正确的纬度值?或者有人知道另一种方法来计算 Javascript 中 2 点之间固定数量的坐标吗?
感谢任何形式的帮助
因为地球不平,小距离的计算可以很好
算点就行了。
1 度大约为 110 公里。所以你可以只对小距离进行 Pitagoras 计算并乘以 110 公里,然后进行迭代循环。
为了准确起见,您可以使用 open-layers 库(其中大部分是免费的),但您应该提供带投影的地图。让事情变得有点复杂。
其中一个功能是找到特定点的坐标,给出距离和方位角。
需要先找到两个点的方位角。
使用O/L: openlayers sphere getlength & bearing.
我正在寻找一种方法来找到 Javascript 中两点之间的多个坐标(我不需要距离或中点)。
假设我有这两点:
- A点(左)纬度:39.091868经度:-9.263187
- B 点(右)纬度: 39.089815 长:-9.261857
我想在 A 点和 B 点之间生成例如 20 个坐标。
我尝试使用这段 Javacript 代码(在旧线程上找到):
Point = function(x, y) {
this.x = x;
this.y = y;
}
var pointA = new Point(39.091868, -9.263187);
var pointB = new Point(39.089815, -9.261857);
var numberOfPoints = 20;
var points = new Array();
for (var i = 0; i < numberOfPoints; i++) {
points.push(new Point((Math.abs(pointA.x - pointB.x) / 10) * i + pointB.y, (Math.abs(pointA.y - pointB.y) / numberOfPoints) * i + pointB.y));
}
console.log(points);
当我运行上面的代码时,它打印出点A和B之间点数组的20个值。但是,它似乎只存储了点的正确经度值。 (x 和 y 都显示经度值)。 例如points数组的第一项是:
Point x: -9.261857 y: -9.261857
我应该如何调整for循环内的计算,使A点和B点之间的每个点也存储正确的纬度值?或者有人知道另一种方法来计算 Javascript 中 2 点之间固定数量的坐标吗?
感谢任何形式的帮助
因为地球不平,小距离的计算可以很好
算点就行了。 1 度大约为 110 公里。所以你可以只对小距离进行 Pitagoras 计算并乘以 110 公里,然后进行迭代循环。
为了准确起见,您可以使用 open-layers 库(其中大部分是免费的),但您应该提供带投影的地图。让事情变得有点复杂。
其中一个功能是找到特定点的坐标,给出距离和方位角。
需要先找到两个点的方位角。
使用O/L: openlayers sphere getlength & bearing.