2013-04-24 2 views
1

Я использую следующий код, чтобы добавить маркеры на карту, у него также есть слушатель, чтобы удалить маркер с карты, но я не могу понять, как удалить маркер с markerarray в то же время, что и удаление его с карты.API Карт Google V3, удаляющий маркер из массива

может кто-нибудь дать мне указатель на то, как этого достичь.

function createRedMarker(Lat, Lang, html, atitle) { 
    var latlng = new google.maps.LatLng(Lat, Lang); 
    var marker = new google.maps.Marker({ 
     position: latlng, 
     map: map, 
     title: atitle, 
     icon: redmarker, 
     shadow: mshadow 
    }); 

    google.maps.event.addListener(marker, "rightclick", function() { 
     if (confirm("Deselect " + marker.title + " and remove from Map?")) { 
      marker.setMap(null); 
      window.status = "Deselected>" + marker.title + "<"; 
     } 
    }); 

    markersArray.push(marker); 
} 

ответ

0

Пожалуйста, взгляните на это решение. Надеюсь, это поможет.

function createRedMarker(Lat, Lang, html, atitle) { 
    var latlng = new google.maps.LatLng(Lat, Lang); 
    var marker = new google.maps.Marker({ 
     position: latlng, 
     map: map, 
     title: atitle, 
     icon: redmarker, 
     shadow: mshadow 
    }); 

    google.maps.event.addListener(marker, "rightclick", function() { 
     if (confirm("Deselect " + marker.title + " and remove from Map?")) { 
      marker.setMap(null); 
      for (var i = 0; i < markers.length; i++) { 
       if (markers[i].getPosition().equals(marker.getPosition())) { 
        var index = markers.indexOf(marker); 
        markers.splice(index, 1); 
        break; 
       } 
      } 
      window.status = "Deselected>" + marker.title + "<"; 
     } 
    }); 

    markersArray.push(marker); 
} 
Смежные вопросы