赞
踩
大家好,我是梦起,最近有一个在地图上绘制水平距离线段的要求,找遍网上资料都没发现有相关方法,只好自己查阅相关资料,然后自己写了个,如有大佬有更好方法,欢迎在评论区探讨。
思路:先计算出对应距离水平线段对应坐标点,再基于对应坐标点计算垂直上下两个坐标点,最后基于三个点计算出相应的距离线段
代码:
- /**
- * APIMethod:OpenLayers+turf绘制距离线段的接口扩展
- * @param origin 线段顶点
- * @param radius 线段距离
- * @returns {OpenLayers.Geometry.LineString}
- */
- // 绘制距离线段方法
- function createLine(origin, radius) {
- let point = turf.destination(origin,radius,90).geometry.coordinates
- let points = [];
- points.push(turf.destination(point,0.01,0,"miles").geometry.coordinates)
- points.push(turf.destination(point,0.01,180,"miles").geometry.coordinates)
- return new LineString(points);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。