我使用小叶包创建了一个包含地图的flexdashboard。
我需要能够在地图区域内选择标记,以便我可以基于这些标记显示摘要统计信息。 leaflet-locationfilter似乎提供了我所需要的,但是我需要弄清楚如何在生成的HTML文件中包括它。我尝试在flexdashboard标头中使用“包含”,但这会产生错误。这是一个简单的测试用例:
---
title: "Dashboard Title"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
includes: includes(in_header = "TEST.HTML", before_body = "TEST.HTML", after_body = "TEST.HTML")
---
...其中TEST.HTML是:
<!-- TEST TEST TEST -->
但这失败了:
输出文件:Dashboard.knit.md
include $ in_header中的错误:$运算符对原子向量无效
调用:->->覆盖-> pandoc_include_args
执行停止
我不得不求助于the code来弄清楚该怎么做,因为它似乎在任何地方都没有记录,但是我显然错过了一些东西。
有什么建议?
最佳答案
不要像奇怪的那样使用R的内置includes
函数(如(第4页)),而应使用YAML:
---
title: "Dashboard Title"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
includes:
in_header: "TEST.HTML"
before_body: "TEST.HTML"
after_body: "TEST.HTML"
---
但是,除了通过flexdashboard之外,还有一种包含传单插件的方法。使用传单自己的
dependencies
参数:map$dependencies <- c(map$dependencies, list(htmlDependency(
name = "Leaflet.locationfilter",
version = "0.1",
src = "PATH_TO_DIRECTORY",
script = "locationfilter.js",
stylesheet = "locationfilter.css"
)))