【发布时间】:2013-11-21 11:17:46
【问题描述】:
我正在尝试创建一个在 Reveal.js 之上运行的演示文稿,该演示文稿将在其中一张幻灯片中包含一个 Leaflet.js 地图。我已经在我的 Reveal.js 演示文稿中包含了所有必要的 Javascript 和 CSS 文件,我可以让地图出现在幻灯片上。
但是,问题是:地图图块显示不正确。我看到的不是实际的地图图块,而是灰色背景和一些水平黑线。我可以放大/缩小并平移地图,并且黑线会相应移动。
Javascript 控制台中没有错误消息,并且浏览器似乎正在按照应有的方式从服务器下载地图图块。我认为问题与 Leaflet 地图图块的 CSS 代码有关 - Leaflet.css 中的 .leaflet-tile - 在某种程度上与 Reveal.js 不兼容。
问题是:有谁知道如何解决这个问题?还是没有解决办法的死胡同?
<div id="map"> 有以下 CSS:
#map {
height:400px;
width:100%;
}
编辑: 一个明显的解决方法是使用<iframe> 标签将地图嵌入到演示文稿中。似乎工作得很好,也许将框架分开会更好。然而,不利的一面是,如果演示文稿中有多个地图,每个地图都在其自己的<iframe> 中,则会为每个 iframe 将 Leaflet.js 的副本加载到内存中。
编辑 #2: 一个更好的解决方案似乎是使用 Polymaps 而不是 Leaflet.js。似乎可以将多个 Polymaps 地图嵌入到 reveal.js 演示文稿中。没有问题。
【问题讨论】:
标签: javascript css leaflet reveal.js