mapbox-gl 实现末尾带箭头的线

1、mapbox-gl 结合turfjs  实现线 末尾带箭头指向目标点 ,效果如下图

 2、 主要使用turf.js的两个接口:bearing 和 along
turfjs官网
bearing  是计算起点到终点的相对于北向的角度,返回的结果是度数

          let bearing = turf.bearing(起点, 终点);

3、利用  mapbox-gl 图层  Layer 中 layout的 icon-rotate 旋转箭头图标的 角度,注意目标默认与正北方向 有90°的夹角,所以需要  bearing -90°

let  iconRotate  = Number(bearing - 90);

4、给geojson 中  properties 添加 iconRotate 字段        目标.properties.iconRotate =iconRotate  ,加载箭头图标时 旋转 一下角度

mapbox-gl 实现末尾带箭头的线_第1张图片

 

你可能感兴趣的:(gis,前端)