gpt4 book ai didi

r - 带有 Shiny 的 R Leaflet 中的图标未加载(空图像)

转载 作者:行者123 更新时间:2023-12-05 03:06:41 34 4
gpt4 key购买 nike

[R-3.4.3 64 位,RStudio,shinydashboard_0.6.1,shiny_1.0.5,leaflet.extras_0.2,Chrome]

我正在使用 Shiny 在 R/Leaflet 中使用图标,我得到的只是下面的内容,但我不知道为什么:

enter image description here

这是使用 toy example from here :

oceanIcons <- iconList(
ship = makeIcon("ferry-18.png", "ferry-18@2x.png", 18, 18),
pirate = makeIcon("danger-24.png", "danger-24@2x.png", 24, 24)
)

# Some fake data
df <- sp::SpatialPointsDataFrame(
cbind(
(runif(20) - .5) * 10 - 90.620130, # lng
(runif(20) - .5) * 3.8 + 25.638077 # lat
),
data.frame(type = factor(
ifelse(runif(20) > 0.75, "pirate", "ship"),
c("ship", "pirate")
))
)

leaflet(df) %>% addTiles() %>%
# Select from oceanIcons based on df$type
addMarkers(icon = ~oceanIcons[type])

以及以下内容,具有不同但相似的玩具数据,当使用 runApp(shinyApp(ui, server), launch.browser = TRUE);

enter image description here

最佳答案

参见 documentation for makeIcon .作为它期望的第一个参数:

iconUrl: the URL or file path to the icon image

因此,只有当您的工作目录中有 png 时,您的代码才会起作用,更改路径以使其包含硬盘驱动器上图像的正确路径,或者您可以使用 URL .所以一个有效的例子是:

  # Make a list of icons. We'll index into it based on name.
oceanIcons <- iconList(
ship = makeIcon("http://globetrotterlife.org/blog/wp-content/uploads/leaflet-maps-marker-icons/ferry-18.png", 18, 18),
pirate = makeIcon("http://globetrotterlife.org/blog/wp-content/uploads/leaflet-maps-marker-icons/danger-24.png", 24, 24)
)

# Some fake data
df <- sp::SpatialPointsDataFrame(
cbind(
(runif(20) - .5) * 10 - 90.620130, # lng
(runif(20) - .5) * 3.8 + 25.638077 # lat
),
data.frame(type = factor(
ifelse(runif(20) > 0.75, "pirate", "ship"),
c("ship", "pirate")
))
)

leaflet(df) %>% addTiles() %>%
# Select from oceanIcons based on df$type
addMarkers(icon = ~oceanIcons[type])

希望这对您有所帮助!

关于r - 带有 Shiny 的 R Leaflet 中的图标未加载(空图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48944127/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com