微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检测由于加载图像缓慢而调整地图容器的大小?

如何解决如何检测由于加载图像缓慢而调整地图容器的大小?

我正在使用 Vue2Leaflet 插件在 Nuxt 中创建一个带有 Leaflet 地图的应用。

我遇到了一个问题:我正在使用 Bootstrap 列来调整地图和随附图像的大小,但是图像加载速度太慢(目前无法解决),因此在映射时容器的大小不正确加载。

这会导致地图呈半灰色。我曾尝试在挂载的事件中调用 map.invalidateSize(),但即使这样也必须在图像加载完成之前发生。

我在以下位置设置了一个沙箱:https://codesandbox.io/s/eager-bohr-c3453?file=/src/App.vue

要查看错误,您必须在 https://c3453.csb.app/ 处查看渲染的应用程序(内部代码和框渲染未显示问题)

我想我需要一些方法来等待图像完成加载(所以 BS col 是正确的大小),然后调用 map.invalidateSize(),但我不确定如何...

解决方法

您可以在 onload 上附加 <img> 侦听器,以便您可以(再次?)调用 Leaflet 地图 invalidateSize() 方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。