我正在为移动设备上的“我的闪亮”应用程序自定义图标(在桌面上正常工作)苦苦挣扎。我已经阅读了此主题,但并没有帮助我设法查看适当的图标:R Shiny: publishing leaflet maps with custom icons
如果我使用默认图标,则一切正常,它可以正确打印。 我将图标保留在应用程序目录内的www文件夹中。这是否意味着自定义图标不起作用?
如果我将图标用作链接或应用目录中的图像,则无法在移动设备上使用(在台式机上可以)
负责打印的代码如下(这些只是代码的一部分,它不可复制,但是这些部分应该足以判断我是否做错了事)
ui <- dashboardPage(
dashboardHeader(title = "Location Tracker", titleWidth = "270px"),
dashboardSidebar(width = "270px"),
dashboardBody(leafletOutput("mymap", width = "auto", height = "560px"))
)
server <- shinyServer(function(input, output, session) {
# some other code
output$mymap <- renderLeaflet({
leaflet <- leaflet() %>%
addTiles() %>%
return(leaflet)
})
iconize <- function(icon_file_name, x_size, y_size){
icon <- iconList(
ship = makeIcon(icon_file_name, x_size, y_size)
)
}
home_icon <- iconize("https://lh5.googleusercontent.com/IoAku0AlWU1-9KBAccr8n0QI01K8egDndIKbEZSIh2uUIjQd_WUPKUCQMUeorSAW_sPB4BRHKuiTmm8vub68=w1410-h916", 25, 25)
tram_icon <- iconize("www/tram_icon.png", 35, 35)
bus_icon <- iconize("www/bus_icon.png", 35, 35)
observeEvent(autoInvalidate(), {
leafletProxy("mymap") %>%
clearMarkers() %>%
addMarkers(
data = tram_points(),
label = tram_labels(),
icon = tram_icon
)
},ignoreNULL = FALSE)
})
答案 0 :(得分:0)
最后几天后,我想出了一个解决方案。也就是说,我使用了Font Awesome Icons(字体真棒图标),并且一切正常。
下面的一些代码:
icon.home <- makeAwesomeIcon(icon = 'home', library = "fa", markerColor = "green")
observeEvent(autoInvalidate(), {
leafletProxy("mymap") %>%
clearMarkers() %>%
addAwesomeMarkers(
lng = tram_points()$Lon,
lat = tram_points()$Lat,
icon = icon.home
)})