0

I'm exploring the Google map API v3. it there a way to show at the same time different ways to achieve from point A to point B? bus, walking car?

I did something like this but, obvious, it overrides the 1st i write. any help?

    function calcRoute() {
            //            var start = document.getElementById('start').value;
            //            var end = document.getElementById('end').value;
            var request = {
                origin: "Avenida da Liberdade, Lisboa",
                destination: "Campo Grande, Lisboa",
                travelMode: google.maps.TravelMode.TRANSIT
            };
            directionsService.route(request, function (response, status) {
                if (status == google.maps.DirectionsStatus.OK) {
                    directionsDisplay.setDirections(response);
                    directionsDisplay.setMap(map);
                }
            });


            var request2 = {
                origin: "Avenida da Liberdade, Lisboa",
                destination: "Campo Grande, Lisboa",
                travelMode: google.maps.TravelMode.DRIVING
            };
            directionsService.route(request2, function (response, status) {
                if (status == google.maps.DirectionsStatus.OK) {
                    directionsDisplay.setDirections(response);
                    directionsDisplay.setMap(map);
                }
            });

        }

<input type="button" title="Transportes"  onclick="calcRoute();"/>
geocodezip
  • 158,664
  • 13
  • 220
  • 245
dr.Xis
  • 127
  • 2
  • 4
  • 11
  • Related question already answered [here](http://stackoverflow.com/a/5498431/1921385) – Moob Nov 27 '13 at 16:55

1 Answers1

0

Use different instances of the directions service and the directions renderer:

    function calcRoute() {
        //            var start = document.getElementById('start').value;
        //            var end = document.getElementById('end').value;
        var request = {
            origin: "Avenida da Liberdade, Lisboa",
            destination: "Campo Grande, Lisboa",
            travelMode: google.maps.TravelMode.TRANSIT
        };
        directionsServiceTransit.route(request, function (response, status) {
            if (status == google.maps.DirectionsStatus.OK) {
                directionsDisplayTransit.setDirections(response);
                directionsDisplayTransit.setMap(map);
            }
        });


        var request2 = {
            origin: "Avenida da Liberdade, Lisboa",
            destination: "Campo Grande, Lisboa",
            travelMode: google.maps.TravelMode.DRIVING
        };
        directionsServiceDriving.route(request2, function (response, status) {
            if (status == google.maps.DirectionsStatus.OK) {
                directionsDisplayDriving.setDirections(response);
                directionsDisplayDriving.setMap(map);
            }
        });

    }

<input type="button" title="Transportes"  onclick="calcRoute();"/>
geocodezip
  • 158,664
  • 13
  • 220
  • 245