2017-05-31 3 views

Répondre

0

deleteObject est une méthode membre de l'image/objet lui-même, de sorte que vous l'appelez simplement à partir de l'objet que vous souhaitez supprimer, par exemple

image.deleteObject();

Si votre carte utilise des éléments HTML personnalisés comme dans la démo, vous devez également supprimer le div généré dans votre méthode createCustomMarker en appelant removeChild dans les DOM. Vous devez être en mesure d'accéder à cette div en quelque sorte, donc je vous recommande de le modifier pour définir les années div id à quelque chose que vous pouvez regarder plus tard comme id de l'image:

// this function creates and returns a new marker element 
function createCustomMarker(image) { 
    // create holder 
    var holder = document.createElement("div"); 
    holder.className = "map-marker"; 
    holder.title = image.title; 
    holder.id = image.id; //added to make div lookup easier 
    // ... 
} 

Cette modification suppose que vous avez une carte d'identité dans vos images , qui est également recommandé car vous pouvez utiliser la méthode getObjectById pour obtenir l'objet image et appeler sa méthode deleteObject.

Voici une exemple de fonction qui supprime à la fois l'image et le marqueur personnalisé lors de l'ID d'image est fourni:

function deleteImage(imageId) { 
    var image = map.getObjectById(imageId); 
    var imageDiv; 
    if (image) { 
    image.deleteObject(); //delete the ammap image object 
    imageDiv = document.getElementById(imageId); //get the custom marker div 
    imageDiv.parentNode.removeChild(imageDiv); //remove it from the DOM 
    } 
} 

Demo - Cliquez sur les boutons pour supprimer le marqueur correspondant.

+0

Merci beaucoup, c'est très utile –