/** * 计算两点角度 -- 起点坐标为参考坐标,纵坐标为轴取角度 * @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); }