#define PI 3.14
double ThreadToParseJson::getAngle(double lat_a, double lng_a, double lat_b, double lng_b) //lat_a表示上个点纬度, lat_b表示当前点的纬度
{
    double lat1 = lat_a* PI / 180.0;
    double lat2 = lat_b* PI / 180.0;
    double lon1 = lng_a* PI / 180.0;
    double lon2 = lng_b* PI / 180.0;
    double azimuth = sin(lat1) * sin(lat2) + cos(lat1)
            * cos(lat2) * cos(lon2 - lon1);
    azimuth = sqrt(1 - azimuth * azimuth);
    azimuth = cos(lat2) * sin(lon2 - lon1) / azimuth;
    azimuth = asin(azimuth) * 180 / PI;
    if (azimuth == NAN) {
        if (lon1 < lon2) {
            azimuth = 90.0;
            return azimuth;
        } else {
            azimuth = 270.0;
            return azimuth;
        }
    }
    double x = lat_b - lat_a;
    double y = lng_b - lng_a;
    if(x > 0 && y > 0){
        return azimuth;
    }
    else if(x < 0 && y > 0){
        return 180 - azimuth;
    }
    else if(x < 0 && y < 0){
        return 180 - azimuth;
    }
    else if(x > 0 && y < 0){
        return 360 + azimuth;
    }
    else{
        return NAN;
    }