2012-03-09 4 views
3

Я подсчитал маршрут с той же начальной и конечной точкой с картами api.скрыть маркер последнего направления с помощью Google maps api

Поскольку начальная и конечная точки одинаковы, первый маркер перекрывается последним маркером. Теперь я хочу удалить только последний маркер.

Я только знаю, как скрыть их всех:

directionsDisplay.suppressMarkers = true; 

Есть ли способ Переберите маркеров и удалить последнюю?

это код, который я использую для направлений:

function calcRoute(waypts) { 
    var start = waypts[0].location; 
    var end = waypts[0].location; 


     var request = { 
     origin:start, 
     destination:end, 
     waypoints:waypts, 
     optimizeWaypoints: true, 
     provideRouteAlternatives:false, 
     travelMode:google.maps.TravelMode.DRIVING 
     }; 

directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 

      directionsDisplay.suppressInfoWindows = true; 
      directionsDisplay.suppressMarkers = true; 
      directionsDisplay.setDirections(response); 

      console.log(status); 

    }else{ 
     alert('SATUS:'+response.status); 

    } 
}); 
} 

ответ

4

Попробуйте

В Initialise

directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true}); 

затем

directionsService.route(request, function(response, status) { 
if (status == google.maps.DirectionsStatus.OK) { 
var route = response.routes[0]; 
    var start =route.legs[0].start_location; 
    var end =route.legs[0].end_location; 
    addMarker(end); 

функция addMarker

function addMarker(pos){ 
var marker = new google.maps.Marker({ 
    position: pos, 
    map: map, 
    icon: 'images/your image' 

} 
) 
} 

Я не проверял это, но вы должны получить представление

Смежные вопросы