此处地图-信息气泡关闭事件/挂钩 [英] HERE Maps - Infobubble close event / hook

查看:11
本文介绍了此处地图-信息气泡关闭事件/挂钩的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有侧栏项和带标记地图的角度为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#OptionsInfoBubble#getState

这篇关于此处地图-信息气泡关闭事件/挂钩的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆