double lat1 = coordinate1.latitude * M_1_PI/180;
double lat2 = coordinate2.latitude * M_1_PI/180;
double lon1 = coordinate1.longitude * M_1_PI/180;
double lon2 = coordinate2.longitude * M_1_PI/180;
double r = 6371;
double dlat = lat2 - lat1;
double dlon = lon2 - lon1;
double a = sin(dlat/2) * sin(dlat/2) + cos(lat1) * cos(lat2) * sin(dlon/2) * sin(dlon/2);
double c = 2 * atan2(sqrt(a), sqrt(1-a));
distance = distance + (r * c * 1000);
这是我正在使用的代码,它将不断地为用户的新位置从他的第一个位置添加距离。请告诉我我做错了什么,我得到了distance
米。结果总是这样来的。
如果坐标之间的原始距离是 10.97 米,对我来说只有 1.097 米任何帮助都是可观的