根据Shiny中的selectInput字段显示不同的标记

问题描述

我正在尝试在地图上显示标记,其外观取决于selectInput。全局想法是用户可以单击地图上的不同位置,以搜索理想地点。最终,当选择的是好的,他通过点击actionbutton,显示标记验证的位置。在不添加图标形状的情况下,一切正常,但是当我将图标属性添加到addMarkers行时,出现错误消息:objet de type'closure'...,我尝试了几种方法,具体取决于Observe,eventReactive等。 。但是我没有想法,任何帮助将不胜感激!谢谢!

library(shiny)
library(shinythemes)
library(leaflet)

icon.shapes <- c("cylindrical","spherical","cubic")

ui <- navbarPage(
      fluidPage(theme = shinytheme("cerulean"),wellPanel(tags$style(type="text/css",'#leftPanel { width:300px; float:left;}'),id = "leftPanel",selectInput("icon_shape","Icon shape :",icon.shapes),),mainPanel(                          
                      tabsetPanel(
                        tabPanel("Location",leafletoutput("map")),)
           )
)
  )

leafletoutput("map",width = "100%",height = "100%")

server = function(input,output,session) {

output$map <- renderLeaflet({
    leaflet() %>%
      addProviderTiles("CartoDB.Positron")%>%
      setView(lng = -4,lat= 52.54,zoom = 7)
  })

observeEvent(input$map_click,{
    click <- input$map_click
    text<-paste("Lattitude ",click$lat,"Longtitude ",click$lng)
    updateNumericInput(session,'lat',value=input$map_click$lat)
    updateNumericInput(session,'lng',value=input$map_click$lng)
    proxy <- leafletProxy("map")
    proxy %>% clearPopups() %>%
      addPopups(click$lng,text)
    proxy <- leafletProxy("map")
    proxy %>% clearShapes() %>% 
      addCircles(click$lng,click$lat)
  })

  cageIcons <- reactive({
    
    icons(
    iconUrl = ifelse(input$icon_shape == "Cylindrical","http://www.pngmart.com/files/7/Cylinder-PNG-File.png",ifelse(input$icon_shape == "Sphérical","https://img.pngio.com/sphere-d-png-sphere-3d-png-transparent-png-6604207-free-3d-sphere-png-840_614.png","https://www.pinclipart.com/picdir/middle/7-75687_shapes-clipart-cube-pink-cube-png-transparent-png.png")
    ),iconWidth = 38,iconHeight = 95,iconAnchorX = 22,iconAnchorY = 94,)
  return(icons)
  })

observeEvent(input$submit_config,{
    proxy <- leafletProxy("map")
    proxy %>% 
      addMarkers(input$map_click$lng,input$map_click$lat,icon=icons)
  })
}

shinyApp(ui = ui,server = server)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...