使用onclick动作创建点时是否可以创建与另一个lineString垂直的lineString?

时间:2019-09-09 09:24:14

标签: mapbox-gl-js

我想在地图上创建另一个点A时在最近的lineString上创建点B。 A和B用与最近的lineString垂直的lineString连接。我尝试了一些措施,但无法正常工作。.我在Google上搜索了两个小时,但没有找到解决问题的方法。.有人可以帮助我吗?

例如,可以像这样: Example

谢谢, 维科

1 个答案:

答案 0 :(得分:0)

您应该能够使用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})