您可以在their github page 上查看他们是如何为official R leaflet page 执行此操作的(用于网站的,而不是用于传单代码的)。
我没有在您的网站上看到您正在使用 R-markdown 来创建您的降价页面。真的值得一试!看看yihui's jekyll example。基本上你使用knitr 来生成你的页面。这意味着您编写 markdown 并能够将您的 R-Code 嵌入到 markdown 页面中。比如:
```{r}
plot(runif(10))
```
你可以用传单做同样的事情:
```{r}
library(leaflet)
leaflet() %>% addTiles() %>% setView(10, 51, zoom = 8)
```
htmlwidgets 应该由 knitr 自动加载。
例如,您可以看看 R 传单页面的 basemap page 是如何在 R-markdown 中完成的。
如果您在页面中包含传单地图,一件重要的事情是在页面标题中包含所有脚本。在我的页面上,我将其插入到 _includes 文件夹中的 head.html 中。
我必须添加以下内容:
{% if page.maps %}
<script src="/assets/jquery-1.11.1/jquery.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/assets/bootstrap-3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="/assets/bootstrap-3.3.1/js/bootstrap.min.js"></script>
<script src="/assets/bootstrap-3.3.1/shim/html5shiv.min.js"></script>
<script src="/assets/bootstrap-3.3.1/shim/respond.min.js"></script>
<script src="/assets/htmlwidgets-0.5/htmlwidgets.js"></script>
<link href="/assets/leaflet-0.7.3/leaflet.css" rel="stylesheet" />
<script src="/assets/leaflet-0.7.3/leaflet.js"></script>
<link href="/assets/leafletfix-1.0.0/leafletfix.css" rel="stylesheet" />
<script src="/assets/leaflet-binding-1.0.1/leaflet.js"></script>
{% endif %}
我在带有地图的页面的前面添加了一个选项maps: true,以便{% if page.maps %} 部分确保所有这些代码只为需要它的页面加载。
当我在没有 jekyll 的情况下编译 R-markdown 页面时,我从 knitr 创建的文件夹中复制了所有脚本。因此我不得不设置
output:
html_document:
self_contained: no
在最前面(不然代码嵌入到页面中,不能这么容易复制)。
R 传单背后的团队将这些库包含在他们的 index.html 中,如下所示:
<script src="libs/jquery/jquery.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="libs/bootstrap/css/flatly.min.css" rel="stylesheet" />
<script src="libs/bootstrap/js/bootstrap.min.js"></script>
<script src="libs/bootstrap/shim/html5shiv.min.js"></script>
<script src="libs/bootstrap/shim/respond.min.js"></script>
<script src="libs/htmlwidgets/htmlwidgets.js"></script>
<link href="libs/leaflet/leaflet.css" rel="stylesheet" />
<script src="libs/leaflet/leaflet.js"></script>
<link href="libs/leafletfix/leafletfix.css" rel="stylesheet" />
<script src="libs/leaflet-binding/leaflet.js"></script>
您可以从their libs folder 复制库。
我在您的页面上看到您已经让它使用不同的方法。我只是想包括这个,因为我只是在研究同一个主题......