经纬度求距离求与正北方向的夹角(方向角),在网上看了好多这样的资料,许多算法感觉都不太对,今天终于找到个计算比较精准的,自己整理了下:
通过此类算法可以灵活计算两点间的距离。
如果制作定位应用 需要另做个GPS坐标采集
package com.yww.test;
public class AngleUtil {
public static void main(String[] args) {
MyLatLng A=new MyLatLng(113.249648,23.401553);
MyLatLng B=new MyLatLng(113.246033,23.403362);
System.out.println(getAngle(A,B));
}
/**
* 求B点经纬度
* @param A 已知点的经纬度,
* @param distance AB两地的距离 单位km
* @param angle AB连线与正北方向的夹角(0~360)
* @return B点的经纬度
*/
public static MyLatLng getMyLatLng(MyLatLng A,double distance,double angle){
double dx = distance*1000*Math.sin(Math.toRadians(angle));
double dy= distance*1000*Math.cos(Math.toRadians(angle));
double bjd=(dx/A.Ed+A.m_