我一直在使用Ammap库并创建了Map。
https://www.amcharts.com/demos/custom-html-elements-map-markers/
我想使用method()删除Map images对象,详细信息在下面的链接中。有人能让我知道如何使用这个方法()吗?
https://docs.amcharts.com/3/javascriptmaps/MapImage#deleteObject
方法名:“deleteObject()”
提前谢谢
发布于 2017-05-31 10:59:33
deleteObject是图像/对象本身的成员方法,所以您只需从要删除的对象调用它。
image.deleteObject();
如果您的映射使用自定义HTML元素,如演示中的那样,您还需要通过在DOM中调用removeChild来删除在您的removeChild方法中生成的div。您需要能够以某种方式访问该div,因此我建议对其进行修改,将div的id设置为稍后可以查找的内容,比如图像的id:
// 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
  // ...
}这种修改假设您在映像中设置了一个id,这也是建议的,因为您可以使用getObjectById方法获取图像对象并调用其deleteObject方法。
下面是一个示例函数,它在提供图像ID时同时删除图像和自定义标记:
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
  }
}演示 -点击按钮删除相应的标记.
https://stackoverflow.com/questions/44278287
复制相似问题