如何从ammap.js删除mapImage





我一直在使用ammap库并创建了地图。
https://www.amcharts.com/demos/custom-html-elements-map-markers/

我想使用方法((删除映射图像对象,详细信息在下面的链接中。可以让我知道如何使用此方法((

https://docs.amcharts.com/3/javascriptmaps/mapimage#deleteobject
方法名称:" deleteobject(("

预先感谢

deleteObject是图像/对象本身的成员方法,因此您只需从要删除的对象调用它,例如

image.deleteObject();

如果您的映射使用自定义HTML元素,例如在演示中,您还需要通过在DOM中调用removeChild来删除createCustomMarker方法中生成的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
  }
}

演示 - 单击按钮以删除相应的标记。

相关内容

  • 没有找到相关文章

最新更新