欢迎光临散文网 会员登陆 & 注册

mapbox-gl+turf.js简单箭头画法

2022-06-07 22:01 作者:地理信息技术杂谈  | 我要投稿

 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

mapbox-gl+turf.js简单箭头画法的评论 (共 条)

分享到微博请遵守国家法律