Javascript 沿现有要素延伸线串/多线串
我已经给出了两点的坐标。我可以画一条连接这两点的线串。我想要实现的是有一个连接点的线串/多重线串,但它也稍微长一点(比方说比这两个点之间的距离长20%),并且只在一个点后延伸 我目前拥有的: 我想要达到的目标: 我的问题是,我不知道如何找到第三点的位置,这将表明线的终点。应在给定距离内沿既有线路准确放置。任何一种地图投影都不重要,因为我只想有一条永远是直的线Javascript 沿现有要素延伸线串/多线串,javascript,openlayers,openlayers-6,Javascript,Openlayers,Openlayers 6,我已经给出了两点的坐标。我可以画一条连接这两点的线串。我想要实现的是有一个连接点的线串/多重线串,但它也稍微长一点(比方说比这两个点之间的距离长20%),并且只在一个点后延伸 我目前拥有的: 我想要达到的目标: 我的问题是,我不知道如何找到第三点的位置,这将表明线的终点。应在给定距离内沿既有线路准确放置。任何一种地图投影都不重要,因为我只想有一条永远是直的线 const markerOne = new ol.Feature({ geometry: new ol.geom.Point([-
const markerOne = new ol.Feature({
geometry: new ol.geom.Point([-1000, -1000])
});
const markerTwo = new ol.Feature({
geometry: new ol.geom.Point([1000, 1000])
});
const lineStrEnd = ?;
const lineStr = new ol.Feature({
geometry: new ol.geom.LineString([markerOne.getGeometry().getCoordinates(), lineStrEnd])
});
最简单的方法是缩放几何体,例如,从
markerOne
到markerTwo
的线串在markerOne
锚定缩放时增加20%,因此线范围超出markerTwo
const lineStr = new ol.Feature({
geometry: new ol.geom.LineString([markerOne.getGeometry().getCoordinates(), markerTwo.getGeometry().getCoordinates()])
});
lineStr.getGeometry().scale(1.2, 1.2, markerOne.getGeometry().getCoordinates());
对于我的用例来说,这是一个完美的答案。非常感谢。