84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
我在做一个小的手机app,用html5和google map api.主要功能是用户开始跑步,跑完了计算跑了多少公里,时速等。 我知道怎么测A点和B点的直线距离,有没有好点的方法测实际跑步距离而不是两个点直线距离?
认证高级PHP讲师
可以这样建立数学模型: 对于一条路径, 设定采集坐标点周期t, 得到一系列的点P0(x,y), P1(x,y), ... , Pn(x,y). 然后拟合成一条3次或更高次的Bezier曲线(对于一些距离很小的点你可能需要过滤掉), 用辛普森积分或其他方法可求得任意点之间的路径长度, 加上你有采集周期这个时间信息, 还可以算出每个点段直接的平均速度. 可以将周期作为精度控制的接口提供给用户控制.
用百度地图。定位速度挺快。能获取线路就好办。直接计算线路的长度。
这个只能无限细分了,比如setInterval 0.1秒计算出当前相对于上次的距离,最后求sum
可以这样建立数学模型: 对于一条路径, 设定采集坐标点周期t, 得到一系列的点P0(x,y), P1(x,y), ... , Pn(x,y). 然后拟合成一条3次或更高次的Bezier曲线(对于一些距离很小的点你可能需要过滤掉), 用辛普森积分或其他方法可求得任意点之间的路径长度, 加上你有采集周期这个时间信息, 还可以算出每个点段直接的平均速度. 可以将周期作为精度控制的接口提供给用户控制.
用百度地图。定位速度挺快。能获取线路就好办。直接计算线路的长度。
这个只能无限细分了,比如setInterval 0.1秒计算出当前相对于上次的距离,最后求sum