gpt4 book ai didi

javascript - 如果我在 HERE map 中单击不同的标记,如何删除以前的信息气泡?

转载 作者:搜寻专家 更新时间:2023-11-01 04:56:39 25 4
gpt4 key购买 nike

下面是我添加信息气泡的代码。我想在点击(点击)不同的标记后删除当前的信息气泡。

function addInfoBubble(map) 
{
var group = new H.map.Group();
map.addObject(group);
// add 'tap' event listener, that opens info bubble, to the group
group.addEventListener('tap', function(evt) {
// event target is the marker itself, group is a parent event target
// for all objects that it contains
var bubble = new H.ui.InfoBubble(evt.target.getPosition(), {
// read custom data
content: evt.target.getData()
});
// show info bubble
ui.addBubble(bubble);
}, false);
}

如果我点击不同的标记,我应该将代码行 ui.removeBubble(bubble) 放在哪里?

最佳答案

您可以在添加新信息气泡之前从 ui 中删除所有信息气泡。如果您不介意删除当前显示的所有气泡,那么这样的事情应该可行:

ui.getBubbles().forEach(bub => ui.removeBubble(bub));

将其合并到您的代码中:

function addInfoBubble(map) {
var group = new H.map.Group();
map.addObject(group);
// add 'tap' event listener, that opens info bubble, to the group
group.addEventListener('tap', function(evt) {
// event target is the marker itself, group is a parent event target
// for all objects that it contains
var bubble = new H.ui.InfoBubble(evt.target.getPosition(), {
// read custom data
content: evt.target.getData()
});
//remove infobubbles
ui.getBubbles().forEach(bub => ui.removeBubble(bub));

// show info bubble
ui.addBubble(bubble);
}, false);
}

关于javascript - 如果我在 HERE map 中单击不同的标记,如何删除以前的信息气泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33731921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com