使用Waypoint的Google Directions Service无法正常工作

时间:2014-05-08 10:17:44

标签: google-maps google-maps-api-3

以下是我使用Google方向显示航点的代码: -

// Show Route (-)

if (e.keyCode == 109 && $("#booking-docket").dialog("isOpen")) {
    var pickup = $('#txt-pickup-lat-long').val();
    var pickupLat = pickup.split(",")[0];
    var pickupLng = pickup.split(",")[1];
    var destination = $('#txt-destination-lat-long').val();
    var destinationLat = destination.split(",")[0];
    var destinationLng = destination.split(",")[1];
    var via = $('#txt-via-lat-long').val();
    var viaLat = via.split(",")[0];
    var viaLng = via.split(",")[1];

    var start = new google.maps.LatLng(parseFloat(pickupLat), parseFloat(pickupLng));
    var end = new google.maps.LatLng(parseFloat(destinationLat), parseFloat(destinationLng));
    var waypts = new google.maps.LatLng(parseFloat(viaLat), parseFloat(viaLng));

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

直到我添加了航路点,它完全正常,不确定为什么但是当我试图显示路线时,没有任何事情发生,任何想法?

1 个答案:

答案 0 :(得分:2)

您的原始示例可能会更改为:

//var waypts = new google.maps.LatLng(parseFloat(viaLat), parseFloat(viaLng));

var request = {
    origin:start,
    destination:end,
    waypoints: [{
        location: new google.maps.LatLng(parseFloat(viaLat), parseFloat(viaLng)),
        stopover: false
    }],
    optimizeWaypoints: true,
    travelMode: google.maps.TravelMode.DRIVING
};