скрытие маркера последнего направления с помощью Google Maps API - PullRequest
3 голосов
/ 09 марта 2012

Я рассчитал маршрут с одинаковыми начальной и конечной точкой с помощью карты 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);

    }
 });
}

1 Ответ

5 голосов
/ 09 марта 2012

Попробуйте это

При инициализации

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'

}
)
}

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

...