我一直在使用 Ammap Library 并创建了 Map。
https://www.amcharts.com/demos/custom-html-elements-map-markers/
我想使用方法()删除地图图像对象,详细信息在下面的链接中。谁能让我知道如何使用这个方法()
https://docs.amcharts.com/3/javascriptmaps/MapImage#deleteObject
方法名称:“deleteObject()”
提前致谢
我一直在使用 Ammap Library 并创建了 Map。
https://www.amcharts.com/demos/custom-html-elements-map-markers/
我想使用方法()删除地图图像对象,详细信息在下面的链接中。谁能让我知道如何使用这个方法()
https://docs.amcharts.com/3/javascriptmaps/MapImage#deleteObject
方法名称:“deleteObject()”
提前致谢
deleteObject
是图像/对象本身的成员方法,因此您只需从要删除的对象中调用它,例如
image.deleteObject();
如果您的地图使用了演示中的自定义 HTML 元素,您还需要createCustomMarker
通过调用removeChild
DOM 来删除方法中生成的 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
}
}
演示- 单击按钮删除相应的标记。