【发布时间】:2016-08-08 19:30:06
【问题描述】:
我正在尝试使用在闪亮的应用程序中使用 R 创建的传单地图来可视化从起点到目的地的货物。
我想添加一个半径的圆形标记,对应于 odist 和 ddist 变量,它们形成一个名为 main() 的反应性数据框强>
下面是相关的快照和代码:
output$leaflet1 <- renderLeaflet({
leaflet() %>%
addCircleMarkers(data = main(), lng = main()$Olong, lat = main()$Olat, color = 'black', fillColor = coyGreen,
radius = main()$odist, opacity = .5) %>%
addCircleMarkers(data = main(), lng = main()$Dlong, lat = main()$Dlat, color = 'black', fillColor = coyGreen,
radius = main()$ddist, opacity = .3)
})
对于上面的例子,参数radius = main()$odist 等价于radius = 50。然而,这 50 个单位似乎是任意的(圆圈小于 radius = main()$ddist = 125 的较大单位,但是当我放大和缩小时,两个圆圈都会放大和缩小)。我希望能够将我的圆形标记的半径设置为以英里为单位的固定半径,但是我无法弄清楚如何做到这一点。非常感谢任何帮助!
【问题讨论】:
-
addCircles是你要找的我认为 -
我正在寻找一种将
radius参数设置为以英里为单位的固定常数的方法。 -
在 online documentation of leaflet for Circle 中,
setRadius“设置圆的半径。单位为米。”因此,在 R 传单中,当您使用addCircles而不是addCircleMarkers时,您可以指定以米为单位的半径(如果转换正确,则为英里)。 -
我正在为 R 使用 Leaflet() 包,所以我不确定相同的语法是否适用。 R 中的参数是
radius,从视觉上看,两个圆圈的半径显然不是 50 米和 125 米。 -
如您上面所述,该参数在 R 传单中称为
radius =。在addCircles中使用时,它以米为单位定义圆的半径。