Как отобразить несколько полилиний от направлений в Google Maps? - PullRequest
2 голосов
/ 13 января 2012

Я хочу нарисовать несколько полилиний на карте Google, для нескольких маршрутов. для этого я использую google.maps.DirectionsService

function drawPolyline(source,destination,waypoints){
        // show route between the points
        directionsService = new google.maps.DirectionsService();
        directionsDisplay = new google.maps.DirectionsRenderer(
        {
            suppressMarkers: true,
            suppressInfoWindows: true
        });
        directionsDisplay.setMap(map);
        var request = {
            origin:source, 
            destination:destination,
            waypoints:waypoints,
            travelMode: google.maps.DirectionsTravelMode.DRIVING
        };
        directionsService.route(request, function(response, status) 
        {
            if (status == google.maps.DirectionsStatus.OK) 
            {
                directionsDisplay.setDirections(response);

            }
        });

      }

но когда я вызываю этот метод несколько раз, появляется только последняя ломаная линия. и я хочу разные цвета для разных полилиний.

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Направления позволяют вам проверить маршрут: http://code.google.com/apis/maps/documentation/javascript/directions.html#InspectingResults

Объект DirectionsResult имеет массив маршрутов [], который позволяет получить набор закодированных полилиний, составляющих маршрут:

if (status == google.maps.DirectionsStatus.OK) 
            {
                directionsDisplay.setDirections(response);
                myRoutes[]=response.routes[];

            }

Вы можете использовать массив маршруты [] для создания наложений Polyline, как упоминал Скоттукс.

2 голосов
/ 13 января 2012

Вам необходимо использовать полилинию для каждого, а не средство визуализации направлений.

var line = new google.maps.Polyline({clickable:true,map:map,path:"some lat,lngs"});

Пожалуйста, посмотрите API здесь: http://code.google.com/apis/maps/documentation/javascript/reference.html#Polyline Здесь перечислены параметры: http://code.google.com/apis/maps/documentation/javascript/reference.html#PolylineOptions

DirectionsRenderer не очень гибок для рисования линий, это просто помощник для простой функциональности направления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...