此处地图-信息气泡关闭事件/挂钩 [英] HERE Maps - Infobubble close event / hook
本文介绍了此处地图-信息气泡关闭事件/挂钩的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有侧栏项和带标记地图的角度为8的应用程序。 问题是,我需要打开侧边栏中的项目时,用户已经点击了标记,并打开了信息泡泡。这部分操作相当简单,因为我可以添加EventListener,以便在标记上‘点击’,然后执行所需的逻辑。
marker.addEventListener('tap', (evt) => {
this.onTapBubble(evt, 'marker');
});
问题是,当我需要清除在信息泡泡关闭事件中选定的项目时,因为我找不到任何在其按钮上关闭信息泡泡时将被激活的挂钩。 有谁知道这是不是可能的,以及如何实现的?
我找到了关于它的类似文章,但它已经5年了,我不确定它现在是否有效,因为我还无法使其起作用: How to hook into the "close infobubble" event in HERE maps Javascript API
推荐答案
您找到的文章针对的是HERE JAVASRIPT API(2.5.x)的弃用版本。
对于当前的API版本(3.x)来说,这很容易做到。实际上有两种方法:
1.收听InfoBubble的statechange
事件:
bubble = new H.ui.InfoBubble(map.getCenter(), {
content: 'Test'
});
bubble.addEventListener('statechange', function(evt) {
if (evt.target.getState() === H.ui.InfoBubble.State.CLOSED) {
console.log('Bubble closed')
}
})
2.在InfoBubble的选项中添加onStateChange
回调:
bubble = new H.ui.InfoBubble(map.getCenter(), {
content: 'Test',
onStateChange: function(evt) {
if (evt.target.getState() === H.ui.InfoBubble.State.CLOSED) {
console.log('Bubble closed');
}
}
});
有关详细信息,请参阅InfoBubble#Options和InfoBubble#getState。
这篇关于此处地图-信息气泡关闭事件/挂钩的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文