mapbox-gl+turf.js简单箭头画法
mapbox-gl+和turf.js实现简单的箭头画法,使用turf.js中现有的算法,计算角度和位置信息,在mapbox-gl上展示箭头的效果。
turf.js官网:
http://turfjs.org/getting-started
主要使用turf.js的两个接口:rhumbBearing和rhumbDestination。
rhumbBearing是计算起点到终点的相对于北向的角度,返回的结果是度数;
rhumbDestination是已知一个点,根据距离点的距离和相对于北向的角度,计算另一个点的位置;
实现步骤:
1、在地图上画2个点,连成一条线,并计算起点到终点的角度;
2、根据计算的角度,在线的终点上,计算一个和线夹角为30度(可根据实际调整角度),距离为50米新的点位置;
3、根据计算的角度,在线的终点上,计算一个和线夹角为-30度(可根据实际调整角度),距离为50米新的点位置;
4、根据2和3的操作,实现箭头头部的效果;
5、将以上的点,两两以线的方式连接起来,达到一个简单箭头的效果。
简单的效果图:

扩展:
根据上述两个方法,也能够扩展画一些常用的图形,如方形、三角形等;
画一些带宽度、不同的头部样式和不同的尾部样式箭头,也能够使用上述两个方法配合进行实现,后期时间宽裕进一步介绍。
参考网址:http://turfjs.org/docs/#rhumbDestination