如何删除以前的信息气泡,如果我点击不同的标记在这里的地图
How to remove previous infobubble, if I click different marker in HERE Map?
下面是我添加infobubble的代码。我想在点击(点击)其他标记后删除当前的信息气泡。
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);
}
以下是您可以做的事情的更深入的总结:
删除创建的最后一个信息气泡:
ui.removeBubble(bubbles[bubbles.length - 1])
关闭创建的第一个信息气泡:
bubbles[bubbles.length - 1].close()
删除创建的第一个信息气泡:
ui.removeBubble(bubbles[0])
关闭所有气泡:
bubbles.forEach((bubble) => {
bubble.close()
});
去除所有气泡
while(bubbles.length > 0) {
this.ui.removeBubble(bubbles[0])
}
点击infobubbles演示,这样你就可以尝试一下了。
相关文章:
- 可以在这里为背景图像设置滤镜吗
- 如何在这里将两个值最低的数字相加
- 为什么此警报框不't被触发了?在这里追鬼
- 谷歌地图在反应
- JavaScript 可以在这里使用 eval 吗?
- 想在这里使用画布作为背景
- Bing语音和Bing地图在Windows 8应用商店应用程序中冲突
- 如何使用 javascript 按列对表进行排序?不能在这里使用 jquery.我正在使用javascript从xml文
- 为什么“foo()”在这里有效
- java脚本中的谷歌地图在第二次点击时不起作用
- 为什么我需要在这里输入var,为什么它会给我一个数字作为答案?(Javascript)
- 搜索按钮谷歌地图在我的vf页面上不起作用
- 在这里使用回调函数(JavaScript)有什么好处吗
- 如何使谷歌地图在Visual Studio web表单中工作
- 谷歌地图在增加宽度后无法完美显示
- 如何在这里的地图中添加自定义图像标记
- 如何删除以前的信息气泡,如果我点击不同的标记在这里的地图
- 如何获得更多的点沿着路线在这里的地图
- 如何在这里绘制地图与这里地图Javascript 3 API
- 有没有办法检测折线是否在这里地图 API 中的道路边界内/不在道路边界内