欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > 前端地图中,已知一个点为中心,求同纬度顺时针或者逆时针旋转一定度数,一定距离的另一个点,类似扇形

前端地图中,已知一个点为中心,求同纬度顺时针或者逆时针旋转一定度数,一定距离的另一个点,类似扇形

2024/10/27 1:54:21 来源:https://blog.csdn.net/qq_42761482/article/details/141055057  浏览:    关键词:前端地图中,已知一个点为中心,求同纬度顺时针或者逆时针旋转一定度数,一定距离的另一个点,类似扇形
function calculateNewPoint(lat, lng, distance, angle) {const R = 6378137; // 地球半径,单位为米const dRad = distance / R; // 距离转换为弧度const angleRad = angle * Math.PI / 180; // 角度转换为弧度const newLat = Math.asin(Math.sin(lat * Math.PI / 180) * Math.cos(dRad) +Math.cos(lat * Math.PI / 180) * Math.sin(dRad) * Math.cos(angleRad)) * 180 / Math.PI;const newLng = lng + Math.atan2(Math.sin(angleRad) * Math.sin(dRad) * Math.cos(lat * Math.PI / 180),Math.cos(dRad) - Math.sin(lat * Math.PI / 180) * Math.sin(newLat * Math.PI / 180)) * 180 / Math.PI;return { lat: newLat, lng: newLng };
}const startLat = 30.0; // 起点纬度
const startLng = 120.0; // 起点经度
const distance = 1000; // 距离,单位为米
const angle = 45; // 角度,顺时针为正,逆时针为负const newPoint = calculateNewPoint(startLat, startLng, distance, angle);
console.log(newPoint); // 打印新的点位 {lat: newLat, lng: newLng}

同经度的情况,可以参考我的另一篇文章,自行编写
https://blog.csdn.net/qq_42761482/article/details/139311222

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com