我正在使用以下代码在 R 中创建一个 Leaflet 小部件
m <- leaflet(map_data_wgs84) %>% addTiles() %>% addCircles(popup = (paste(sep="<br/>", as.character(map_data_wgs84$MEMBER_REF), map_data_wgs84$Name)))
saveWidget(m, file="c://software//members.html")
Run Code Online (Sandbox Code Playgroud)
我想要一个弹出窗口,其中包含用换行符分隔的 ID 号和姓名。但是,当我运行 saveWidget 命令时,出现以下错误
Error in gsub("</", "\\u003c/", payload, fixed = TRUE) :
input string 1 is invalid UTF-8
Run Code Online (Sandbox Code Playgroud)
这是因为<br/>分隔符的原因。
我在这里做错了什么?
谢谢
更新:
看起来它不是分隔<br/>符,而是 map_data_wgs84$Name 列中的字符。这 12000 条记录是在绘制地图之前从联系人数据库中提取的。
我怀疑我需要某种方法来使字符干净,以便在 Leaflet 中使用 htmlEscaoe 之类的东西,但是我不知道如何在粘贴中使用它。这不起作用,因为 htmlEscape 被解析为字符串:
addCircles(popup = paste(as.character(map_data_wgs84$MEMBER_REF), ~htmlEscape(map_data_wgs84$Name), sep=","))
Run Code Online (Sandbox Code Playgroud)
对于 MEMBER_REF 为 56202 的弹出窗口变为:
56202,htmlEscape(map_data_wgs84$名称)
我正在使用 R 和 Leaflet for R 来绘制 1000 个点。原始数据从 SQL Server 作为英国国家网格 (BNG) 坐标(横轴墨卡托)导入到数据框中,然后使用 rgdal 将其转换为纬度/经度,然后通过 Leaflet 小部件输出到独立的 html。
BNG 坐标是通过地理编码邮政编码生成的,因此,当 >1 个人具有相同的邮政编码时,坐标是相同的。
我想在每个东/北坐标的最后 2 位数字中添加一些随机噪声,以便所有点都可能在 Leaflet 中可见。实现这一目标的最简单方法是什么?
谢谢
麦克风