根据两点经纬度计算出航向

  • 根据两点经纬度计算出航向已关闭评论
  • 160 次浏览
  • A+
所属分类:Web前端
摘要

最近开发一款导航的项目需要行驶方向,这里一般是gps会给我返回航向的,但是公司老系统的数据库没有这个数据,就只能自己计算咯

最近开发一款导航的项目需要行驶方向,这里一般是gps会给我返回航向的,但是公司老系统的数据库没有这个数据,就只能自己计算咯

getAngle(lng_a,lat_a, lng_b, lat_b){   var a = (90 - lat_b) * Math.PI / 180;   var b = (90 - lat_a) * Math.PI / 180;   var AOC_BOC = (lng_b - lng_a) * Math.PI / 180;   var cosc = Math.cos(a) * Math.cos(b) + Math.sin(a) * Math.sin(b) * Math.cos(AOC_BOC);   var sinc = Math.sqrt(1 - cosc * cosc);   var sinA = Math.sin(a) * Math.sin(AOC_BOC) / sinc;   var A = Math.asin(sinA) * 180 / Math.PI;   var res = 0;   if (lng_b > lng_a && lat_b > lat_a) res = A;   else if (lng_b > lng_a && lat_b < lat_a) res = 180 - A;   else if (lng_b < lng_a && lat_b < lat_a) res = 180 - A;   else if (lng_b < lng_a && lat_b > lat_a) res = 360 + A;   else if (lng_b > lng_a && lat_b == lat_a) res = 90;   else if (lng_b < lng_a && lat_b == lat_a) res = 270;   else if (lng_b == lng_a && lat_b > lat_a) res = 0;   else if (lng_b == lng_a && lat_b < lat_a) res = 180;   return res; } 

  

测试下来感觉计算的精度还行  ,就先这样用吧    各位大佬有好的建议和优化可以指点一下我。

同时凑一点文字吧,不然没法发布,工作前端也有一年多了,最近感觉我在前端的发展中有点迷茫,也可能是因为今年上海经济不怎么行,让我感觉前端的发展到后边好像没有后端那么好。在起初我的想法是专注于前端,不想参与内卷去往全栈发展,但现在感觉前端的局限性很大,好像没人关心你的技术能力,感觉只要会react和vue3做项目做业务就行了,那我学习底层就感觉没什么用武之地,因为我一直感觉原生js学的足够好,对技术提升的帮助是很大的,所以我从出了学校工作到现在一直在专注学习原生js,同时也学了react和vue3,但在我的面试经历中,别人只关注我的业务能力,技术差不多就行,所以我现在在考虑要不要早点学习一下后端的东西,希望能有大佬在这方面给一些意见