2011-12-17 3 views
0

나는 내 지정된 위치로 Google지도 길 찾기와 같은 Google지도 경로를 원합니다. 이제 Google지도 내부적으로 최단 경로를 계산하고 경로를 표시하지만 경로가 지정된 위치를 통과해야하므로 경로에 위치를 지정하고 싶습니다.지정된 위치를 통한 Google지도 경로?

어떤 아이디어, 웨이 포인트가있는 GDirections는 어떻게 작동합니까?

답변

1

당신은 waypoints

working sample

var directionsDisplay; 
var directionsService = new google.maps.DirectionsService(); 
var map; 

function initialize() { 
    directionsDisplay = new google.maps.DirectionsRenderer(); 
    var chicago = new google.maps.LatLng(41.850033, -87.6500523); 
    var myOptions = { 
    zoom: 6, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    center: chicago 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    directionsDisplay.setMap(map); 
} 

function calcRoute() { 
    var start = document.getElementById("start").value; 
    var end = document.getElementById("end").value; 
    var waypts = []; 
    var checkboxArray = document.getElementById("waypoints"); 
    for (var i = 0; i < checkboxArray.length; i++) { 
    if (checkboxArray.options[i].selected == true) { 
     waypts.push({ 
      location:checkboxArray[i].value, 
      stopover:true 
     }); 
    } 
    } 

    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); 
     var route = response.routes[0]; 
     var summaryPanel = document.getElementById("directions_panel"); 
     summaryPanel.innerHTML = ""; 
     // For each route, display summary information. 
     for (var i = 0; i < route.legs.length; i++) { 
     var routeSegment = i+1; 
     summaryPanel.innerHTML += "<b>Route Segment: " + routeSegment + "</b><br />"; 
     summaryPanel.innerHTML += route.legs[i].start_address + " to "; 
     summaryPanel.innerHTML += route.legs[i].end_address + "<br />"; 
     summaryPanel.innerHTML += route.legs[i].distance.text + "<br /><br />"; 
     } 
    } 
    }); 
} 
을 사용해야합니다
관련 문제