【问题标题】:Using Google Maps 3 API to get multiple routes on a Map使用 Google Maps 3 API 在地图上获取多条路线
【发布时间】:2011-11-29 01:51:27
【问题描述】:

我正在处理车辆路线问题。最近我花了一些时间浏览 Google Maps API,看看我是否可以在同一张地图上打印多条路线。 我想要以下内容: 路线1: 点 a、b、c、a 路线 2 点 a、d、e、f、a 路线 3 点 a, g, h, a 我希望每条路线都有不同颜色的折线。 有人可以帮我弄这个吗。

【问题讨论】:

    标签: google-maps


    【解决方案1】:

    是的,这很简单,只要你掌握了窍门。

    您想使用 DirectionsRenderer 对象。

    最重要的是,您希望所有路由都设置在数组中,然后您希望通过循环遍历它们。每次创建一个新的方向渲染器对象,每次都将其设置到地图上。在循环内部,您还需要创建一个新的折线变量,您每次都将其传递给方向渲染器,并使用不同的颜色。我曾经有一些代码可以做到这一点,但目前不知道它在哪里。

    这是一个使用不同颜色折线的示例。 :

    http://www.geocodezip.com/violette_com_TestMap2c.html

    如果您关注下面这两行代码,您将看到折线颜色是如何设置的,以及它是如何传递给方向渲染器的。

    directionsDisplayActual = new google.maps.DirectionsRenderer({suppressMarkers: true, polylineOptions: polylineOptionsActual})
    
    var polylineOptionsActual = {
          strokeColor: '#FF0000',
          strokeOpacity: 1.0,
          strokeWeight: 10
          };
    

    您的路线的下一个方式。 :

    http://code.google.com/apis/maps/documentation/javascript/examples/directions-waypoints.html

    另一个很好的例子。

    var request = {
        origin: start, 
        destination: end,
        waypoints: waypts,
        optimizeWaypoints: true,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };
    directionsService.route(request, function(response, status) {
    

    如果您在提供的 google 示例中专注于上述代码,您将看到 waypts var。这就是设置中间标记的位置(如您所说的点 b)。您将通过waypts.push(.....) 来做到这一点。起点和终点将是您的 a 点和 b 点。

    把东西拍在一起应该不会太难。我建议获取一个最接近您需求的 google 示例,然后将其略读为一个简单的项目,然后从那里构建它。

    【讨论】:

    • 感谢您的回答。看起来这仍然是一条单一的路线,只是带有航路点。您知道是否有可能 - 例如,一条使用步行距离的路线和一条使用行驶距离的路线?
    • 我不明白你为什么不做两条不同的路线。一个通过步行路由,一个通过驾驶路由,您将分别处理每一个,并使用不同的折线将它们放置在地图上。
    • 我同意@User Smith,我使用折线来构建我的最终路线。这里的例子code.google.com/p/gmaps-samples-v3/source/browse/trunk/…
    • 在Purusartha地图上绘制一条折线的好例子。
    猜你喜欢
    • 1970-01-01
    • 2013-07-13
    • 2019-03-11
    • 2013-01-07
    • 2013-02-25
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多