谷歌地图V3显示多条路线

4

我需要将一条长路线分成两段,一段使用高速公路,另一段则不使用。我编写了两条路线代码。

var request1 = {
    origin: startlatlng,
    destination: joinLatLng,
    waypoints: [{ location: day1 }, { location: day2 }, { location: day3 }],
    travelMode: google.maps.DirectionsTravelMode.DRIVING
};

并且。
var request2 = {
    origin: joinLatLng,
    destination: endlatlng,
    avoidHighways: true,
    waypoints: [{ location: day7 }, { location: day8 }, { location: day9 }, { location: day10 }, { location: day11 },
                { location: day12 }, { location: day13}],
    travelMode: google.maps.DirectionsTravelMode.DRIVING
};

但是当我使用以下方法绘制每个图表时

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

并且

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

只有第二个显示。是否有人能提供一些建议,如何连接这两个路由?

1个回答

5

directionsDisplay是一个DirectionsRenderer对象。它一次只能呈现一组路线。如果您创建了两个方向渲染器对象,例如directionsDisplay1和directionsDisplay2,则每个对象可以同时在地图上呈现路线的一半。


谢谢你的帮助,Danny。非常有效。我创建了一个directionsDisplay来渲染地图和第一条路线,另一个用于渲染其他路线。我在init()函数中定义了它们的地图并将它们都渲染出来,然后计算并显示每条路线。工作完成。 - xiecs
@xiecs 能否发布你代码的一个例子!提前感谢! - Laggel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接