1、这次自己实现的是在地图进行运动轨迹的同时。得到运动的总距离。对于时间也可以获取到。但是速度方面有一点欠缺。还需要改进和增强。明天准备获取得到运动的每一部分的具体时间,得到速度。舒适速度和平均速度。今天变更的代码操作如下图所示;
public String getDistance(LatLng start,LatLng end){
double lat1 = (Math.PI/180)*start.latitude;
double lat2 = (Math.PI/180)*end.latitude;
double lon1 = (Math.PI/180)*start.longitude;
double lon2 = (Math.PI/180)*end.longitude;
Toast.makeText(DynamicDemo.this,String.valueOf(lat1), Toast.LENGTH_SHORT).show();
Toast.makeText(DynamicDemo.this,String.valueOf(lon1), Toast.LENGTH_SHORT).show();
Toast.makeText(DynamicDemo.this,String.valueOf(lat2), Toast.LENGTH_SHORT).show();
Toast.makeText(DynamicDemo.this,String.valueOf(lon2), Toast.LENGTH_SHORT).show();
//地球半径
double R = 6371;
//两点间距离 km,如果想要米的话,结果*1000
double d = Math.acos(Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos(lon2-lon1))*R;
if(d<1)
return (int)d*1000+"m";
else
return String.format("%.2f",d)+"km";
}
原文:https://www.cnblogs.com/dazhi151/p/12733472.html