可能重复:
折线使用谷歌地图 api v3 捕捉到道路
我的用例很常见,但不知何故找不到正确的解决方案。我不断记录移动车辆的坐标,然后将预定义的路线与行驶路径一起显示。预定义的路线和行进路径应以不同的颜色显示。为了显示预定义的路径,我使用了 DirectionsService.route。对于走过的路,我尝试了不同的方法,但没有一个能完美地工作。
在路径中记录的所有坐标之间绘制一条折线。但是如果转弯落在两个记录的坐标之间,则该线直接连接点而忽略转弯。
var line = new google.maps.Polyline({ path: arr_all_coordinates, strokeColor: "red", strokeOpacity: 1, strokeWeight: 1 });
使用新的 DirectionsRenderer 对象在 2 个连续坐标之间形成一条路线,并使用 DirectionsService.route 显示直到最后一个坐标。在这种情况下,地图会继续跳转到最后 2 个坐标,并将焦点放在最后绘制的路线上。我尝试将 preserveViewport 设置为 true 但没有用。
directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { directionsRenderer.setDirections(response); }
请有任何建议。