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

最近开发一款导航的项目需要行驶方向,这里一般是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;
}

标题名称:根据两点经纬度计算出航向
链接URL:http://azwzsj.com/article/dsojjcp.html