Google maps api 3 route search (distance from POI from route)

I have the following code that successfully outputs a route between two points. However, I want to find a set of records to see which georeferences are within this route. For instance. 50 yards from the main route

function plot_route() {

         var rendererOptions = { map: map };
    directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);

    var org = new google.maps.LatLng ( $("#start_lat").html(), $("#start_long").html() );
    var dest = new google.maps.LatLng ( $("#finish_lat").html(), $("#finish_long").html() );

        if ($("#via_lat").html() != "") {
       var point1 = new google.maps.LatLng($("#via_lat").html(), $("#via_long").html());
        }
        else
        {
         point1 = dest;
        }

    var wps = [{ location: point1 }];

    if (($("#start_lat").html() != "") && ($("#finish_lat").html() != "")) {
    var request = {
            origin: org,
            destination: dest,
            waypoints: wps,
            travelMode: google.maps.DirectionsTravelMode.DRIVING
            };

    directionsService = new google.maps.DirectionsService();
    directionsService.route(request, function(response, status) {
                if (status == google.maps.DirectionsStatus.OK) {
                    directionsDisplay.setDirections(response);
                }
                else
                    alert ('failed to get directions');
            });
    }
}

I tried to break the answer, but it shows that the calculation does not return an array of values ​​for plotting the route.

Has anyone defeated this before?

change

Digging deeper, the answer seems to contain an array of waypoints. For those in the community who are looking for help and not contributions from gung ho people using the -1 button, I attach the following

function plot_route() {

         var rendererOptions = { map: map };
    directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);

    var org = new google.maps.LatLng ( $("#start_lat").html(), $("#start_long").html() );
    var dest = new google.maps.LatLng ( $("#finish_lat").html(), $("#finish_long").html() );

        if ($("#via_lat").html() != "") {
       var point1 = new google.maps.LatLng($("#via_lat").html(), $("#via_long").html());
        }
        else
        {
         point1 = dest;
        }

    var wps = [{ location: point1 }];

    if (($("#start_lat").html() != "") && ($("#finish_lat").html() != "")) {
    var request = {
            origin: org,
            destination: dest,
            waypoints: wps,
            travelMode: google.maps.DirectionsTravelMode.DRIVING
            };

    directionsService = new google.maps.DirectionsService();
    directionsService.route(request, function(response, status) {
                if (status == google.maps.DirectionsStatus.OK) {
                                   var myroute = response.routes[0];
                                   if(myroute)
                                   {
                                       $.each(myroute, function(key, value) {
                                       if (key == "overview_path") {
                                          alert(value); //the array of points for the route
                                       }
                                     });
                                    }
                    directionsDisplay.setDirections(response);
                }
                else
                    alert ('failed to get directions');
            });
    }
}
+3
source share

All Articles