/**
* 计算两点角度 -- 起点坐标为参考坐标,纵坐标为轴取角度
* @param latitude
* @param longitude
* @param latitudeEnd
* @param longitudeEnd
* @return
*/
public static double calculateDegrees(double latitude, double longitude, double latitudeEnd, double longitudeEnd){
double distance = getDistanceByLatLon(latitude, longitude, latitudeEnd, longitudeEnd);
double disCos = oneLatitudeDistance() * Math.abs(latitude - latitudeEnd);
double cosDe = disCos / distance;
double acos = Math.acos(cosDe);
double degrees = Math.toDegrees(acos);
if(latitudeEnd > latitude && longitudeEnd < longitude){
return Math.round(360 - degrees);
}
if(latitudeEnd < latitude && longitudeEnd > longitude){
return Math.round(180 - degrees);
}
if(latitudeEnd < latitude && longitudeEnd < longitude){
return Math.round(180 + degrees);
}
return Math.round(degrees);
}