如何在Leaflet弹窗中直接插入Flextable?无需转htmlTables类包
在Leaflet弹窗中插入Flextable的实现方法
可以直接通过flextable自身的方法实现,不需要依赖htmlTables包。Leaflet的popup参数接受HTML内容,而flextable可以通过htmltools::htmltools_value()直接转换为符合要求的HTML对象,不需要额外转换工具。
修改后的完整代码如下:
# 加载所需包 library(leaflet) library(flextable) library(htmltools) # 坐标数据 lat <- c(43.22693) lon <- c(-86.20437) # 构建地图并插入flextable弹窗 map <- leaflet(options = leafletOptions(minZoom = 2, maxZoom = 18)) %>% addTiles() %>% setView(lng = -97, lat = 39, zoom = 4) %>% setMaxBounds(lng1 = -180, lat1 = -60, lng2 = 180, lat2 = 65) %>% addCircleMarkers( lat = lat, lng = lon, popup = htmltools_value(flextable(mtcars)) # 关键转换步骤 ) map
说明
htmltools_value()会把flextable对象转换成Leaflet弹窗能渲染的HTML片段,完整保留flextable的格式样式- 不需要额外安装其他包,
htmltools通常是R可视化类包的默认依赖,大概率已存在于你的环境中
内容的提问来源于stack exchange,提问作者RRuiz
相关产品推荐
相关产品推荐

