最近開發一款導航的專案需要行駛方向,這里一般是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,但在我的面試經歷中,別人只關注我的業務能力,技術差不多就行,所以我現在在考慮要不要早點學習一下后端的東西,希望能有大佬在這方面給一些意見
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/501938.html
標籤:JavaScript
