首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从MapImage中删除Ammap.js

如何从MapImage中删除Ammap.js
EN

Stack Overflow用户
提问于 2017-05-31 07:25:04
回答 1查看 618关注 0票数 0

我一直在使用Ammap库并创建了Map。

https://www.amcharts.com/demos/custom-html-elements-map-markers/

我想使用method()删除Map images对象,详细信息在下面的链接中。有人能让我知道如何使用这个方法()吗?

https://docs.amcharts.com/3/javascriptmaps/MapImage#deleteObject

方法名:“deleteObject()”

提前谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-31 10:59:33

deleteObject是图像/对象本身的成员方法,所以您只需从要删除的对象调用它。

image.deleteObject();

如果您的映射使用自定义HTML元素,如演示中的那样,您还需要通过在DOM中调用removeChild来删除在您的removeChild方法中生成的div。您需要能够以某种方式访问该div,因此我建议对其进行修改,将div的id设置为稍后可以查找的内容,比如图像的id:

代码语言:javascript
运行
复制
// 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时同时删除图像和自定义标记:

代码语言:javascript
运行
复制
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
  }
}

演示 -点击按钮删除相应的标记.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44278287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档