使用 onclick 动作创建点时,是否可以创建与另一个 lineString 垂直的 lineString?
Is it possible to create a perpendicular lineString to another lineString when creating a point with onclick action?
我想在地图上创建另一个点A时,在最近的lineString上创建一个点B。 A 和 B 连接一个 lineString,该 lineString 与最近的 lineString 垂直。我尝试了一些方法,但没有用。我在 Google 上搜索了两个小时,但没有找到问题的解决方案。有人可以帮助我吗?
例如,它可以是这样的:
Example
谢谢,
维科
您应该可以使用 Turf 库的 nearestPointOnLine 函数来实现这一点。因此,如果 L 是 LineString 特征,而 A 是新创建的点,那么您将得到如下内容:
const B = turf.nearestPointOnLine(L, A)
const tangent = {
type: 'LineString',
coordinates: [A.geometry.coordinates, B.geometry.coordinates]
}
map.addSource({ type: 'geojson', id: 'tangent', tangent})
我想在地图上创建另一个点A时,在最近的lineString上创建一个点B。 A 和 B 连接一个 lineString,该 lineString 与最近的 lineString 垂直。我尝试了一些方法,但没有用。我在 Google 上搜索了两个小时,但没有找到问题的解决方案。有人可以帮助我吗?
例如,它可以是这样的: Example
谢谢, 维科
您应该可以使用 Turf 库的 nearestPointOnLine 函数来实现这一点。因此,如果 L 是 LineString 特征,而 A 是新创建的点,那么您将得到如下内容:
const B = turf.nearestPointOnLine(L, A)
const tangent = {
type: 'LineString',
coordinates: [A.geometry.coordinates, B.geometry.coordinates]
}
map.addSource({ type: 'geojson', id: 'tangent', tangent})