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



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

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

点击此处地图上标记的信息气泡图片

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

知道吗,我如何使用vue在heremap中实现这一点?

这是带标记的heremap的工作示例。单击鼠标打开信息气泡https://developer.here.com/documentation/examples/maps-js/infobubbles/open-infobubble

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

点击工作示例上的标记图片

这里是谷歌地图的相同工作示例。https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple

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

一种方法可能是,每当你点击地图时,都将其放在标记上。这仍然不能保证整个信息窗口会出现在屏幕上,这取决于它的大小。但在大多数情况下,这可能会起作用。

您应该能够使用map.getCenter()获取地图中心

使用中给出的示例

  • https://developer.here.com/documentation/examples/maps-js/infobubbles/open-infobubble
  • https://developer.here.com/documentation/examples/maps-js/events/position-on-mouse-click

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

group.addEventListener('tap', function (evt) {
var bubble = new H.ui.InfoBubble(coord, {
// read custom data
content: evt.target.getData(),
position: group.getCenter()
});
// show info bubble
ui.addBubble(bubble);
}, false);

最新更新