0

可能重复:
折线使用谷歌地图 api v3 捕捉到道路

我的用例很常见,但不知何故找不到正确的解决方案。我不断记录移动车辆的坐标,然后将预定义的路线与行驶路径一起显示。预定义的路线和行进路径应以不同的颜色显示。为了显示预定义的路径,我使用了 DirectionsService.route。对于走过的路,我尝试了不同的方法,但没有一个能完美地工作。

  1. 在路径中记录的所有坐标之间绘制一条折线。但是如果转弯落在两个记录的坐标之间,则该线直接连接点而忽略转弯。

    var line = new google.maps.Polyline({ path: arr_all_coordinates, strokeColor: "red", strokeOpacity: 1, strokeWeight: 1 });

  2. 使用新的 DirectionsRenderer 对象在 2 个连续坐标之间形成一条路线,并使用 DirectionsService.route 显示直到最后一个坐标。在这种情况下,地图会继续跳转到最后 2 个坐标,并将焦点放在最后绘制的路线上。我尝试将 preserveViewport 设置为 true 但没有用。

    directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { directionsRenderer.setDirections(response); }

请有任何建议。

4

1 回答 1

0

这与绘制一条捕捉道路的线基本上是相同的问题。请参阅我的解决方案:polyline snap to road using google maps api v3

于 2012-09-30T14:54:26.940 回答