有没有人知道如何在API V3中执行此操作,或者在何处查找有关此选项的信息
帮帮我吧
答案 0 :(得分:4)
geocodezip的拉里重新研究了许多经济实例。
答案 1 :(得分:2)
在得知这篇文章之前,我想出了一个解决方案。我认为简短而简洁,所以我希望将来能够帮助任何人看到这一点。
第1步:将响应参数从directionsService.route()
传递给我称之为driveSim(response)
的函数:
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
driveSim(response);
};
});
第2步:创建标记,其初始位置等于响应初始位置的标记,然后迭代path
对象数组中的所有值,就这样。它只是在与任何特定速度无关的固定spped上进行动画处理。如果您希望这样做,只需使用console.log(path);
来探索var path
对象中的所有数据,您就会发现很容易找出给定速度所需的延迟。
function driveSim (response){
var path = response.routes[0].overview_path;
var maxIter=path.length;
taxiCab=new google.maps.Marker({
position: path[0],
map: map,
});
var delay = 20, count = 0;
function delayed () {
count += 1;
taxiCab.setPosition({lat:path[count].lat(),lng:path[count].lng()});
if (count < maxIter-1) {
setTimeout(delayed, delay);
}
}
delayed();
}
AND,就是这样。