Vue.js 此处贴图-如果当前窗口中的信息气泡不完全可见,则重新定位贴图

Vue.js 此处贴图-如果当前窗口中的信息气泡不完全可见,则重新定位贴图,vue.js,infowindow,heremaps,infobubble,Vue.js,Infowindow,Heremaps,Infobubble,我正在Vue中集成“heremap”。在我们的场景中,地图上有很多标记。单击任何标记时,有关标记的一些信息将显示在信息气泡弹出窗口中 如果一个标记在地图的顶部,我点击了该标记,它的信息气泡在视口中并不完全可见,因为一些气泡弹出窗口被隐藏,如下图所示 在谷歌地图中,如果标记的信息窗口不完全可见,它会自动重新调整地图以适应窗口 任何想法,我如何在heremap中使用vue实现这一点 下面是带有标记的heremap的工作示例。 单击鼠标打开信息气泡 转到上面的链接,将地图向上移动一点。单击地图上的

我正在Vue中集成“heremap”。在我们的场景中,地图上有很多标记。单击任何标记时,有关标记的一些信息将显示在信息气泡弹出窗口中

如果一个标记在地图的顶部,我点击了该标记,它的信息气泡在视口中并不完全可见,因为一些气泡弹出窗口被隐藏,如下图所示

在谷歌地图中,如果标记的信息窗口不完全可见,它会自动重新调整地图以适应窗口

任何想法,我如何在heremap中使用vue实现这一点

下面是带有标记的heremap的工作示例。 单击鼠标打开信息气泡

转到上面的链接,将地图向上移动一点。单击地图上的一个标记,它的信息窗口气泡显示和地图不重新定位自己,以充分显示信息窗口气泡,如下图所示

这里是谷歌地图的同一个工作示例。


单击标记,它的信息窗口将开始显示,如果它不完全在窗口中,地图将自动重新调整自身。

一种方法可能是在单击标记时将地图置于标记的中心。这仍然不能保证整个信息窗口会显示在屏幕上,这取决于它的大小。但在大多数情况下,它可能会起作用

您应该能够使用
map.getCenter()

使用中给出的示例

您应该能够执行以下操作:

group.addEventListener('tap',函数(evt){
var bubble=新的H.ui.InfoBubble(coord{
//读取自定义数据
内容:evt.target.getData(),
位置:group.getCenter()
});
//显示信息气泡
ui.addBubble(气泡);
},假);

尝试从styleNo应用
z-index
,它将不起作用。若信息气泡在窗口的右/左侧,它将从窗口的视口中消失。请提供一些,这将有助于以有意义的方式回答您的问题。还有,你已经尝试了什么,你被困在哪里了?@nosurs我已经更新了我的问题。我添加了heremap和GoogleMap的工作示例。在heremap示例中,它是用纯JavaScript实现的,但我使用的是Vue。是的,每次单击信息气泡时,我都可以将地图居中。但问题是,即使整个信息窗口已经出现在屏幕上,它也会使地图重新居中。只有当infowindow在屏幕上不完全可见时,我才需要将地图居中。我不确定它是否完全可见。检查文档有一个
getVisibility
方法,但我怀疑只是检查文档是否打开或关闭我检查了文档,没有发现任何具体内容。