使用Google Map API在给定坐标之间绘制线条

时间:2012-09-30 14:22:55

标签: google-maps-api-3

  

可能重复:
  polyline snap to road using google maps api v3

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

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

    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); }

  3. 请提出任何建议。

1 个答案:

答案 0 :(得分:0)

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