最近開發一款導航的項目需要行駛方向,這裡一般是gps會給我返回航向的,但是公司老系統的資料庫沒有這個數據,就只能自己計算咯 getAngle(lng_a,lat_a, lng_b, lat_b){ var a = (90 - lat_b) * Math.PI / 180; var b = (90 - ...
最近開發一款導航的項目需要行駛方向,這裡一般是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,但在我的面試經歷中,別人只關註我的業務能力,技術差不多就行,所以我現在在考慮要不要早點學習一下後端的東西,希望能有大佬在這方面給一些意見