最近在用地图,场景:给两个点,画出这两点之间的驾车(步行)路线图;
使用drivingSearch(驾车)、walkingSearch(步行);
然后计算距离如下:
searchObj.onRouteSearchComplete = function(state, result) {
if(state == 0) {
map.addOverlay(result.getRoute(0));
var d = result.getRoute(0).distance;
plus.nativeUI.toast("距离:" + d);
} else {
plus.nativeUI.toast("画路线失败");
}
}
但是当我想得到路线的耗时(多少分钟),发现并没有类似: result.getRoute(0).duration; 的方法【注:百度地图API,是有getDuration 方法来获得时间的】;
请问,是否时间需要自己去计算呢?根据自己设置一个每小时多少公里数然后用总距离来除??
1 个回复
赵梦欢 - 专注前端,乐于分享!
5+ 文档有距离计算的API,至于时间计算这个确实一般来说也没有比较精确的方法去计算,但是可以提供一种思路:
可以通过监听设备在一段时间内的位置变化信息,然后计算一个速度,这样就可以求取整个行程的时间,理论上是可行,实际操作还有很多细节处理。
计算距离
监听设备位置变化信息