R传单中的标记鼠标单击事件以实现闪亮

Posted

技术标签:

【中文标题】R传单中的标记鼠标单击事件以实现闪亮【英文标题】:Marker mouse click event in R leaflet for shiny 【发布时间】:2015-05-10 09:51:22 【问题描述】:

如何在 R 中的传单地图中的标记上接收鼠标单击事件?我正在使用 RStudio/leaflet 并通过 Shiny 运行。

我想获取标记的值(例如 ID)并使用它来更新侧边栏面板。

【问题讨论】:

相关***.com/questions/44334968/… & ***.com/questions/50183297/… & ***.com/questions/42613984/… 【参考方案1】:

您想使用input$MAPID_marker_click。请参阅下面的示例。

library(shiny)
library(leaflet)

latitude <- c(35.94077, 35.83770, 35.84545, 35.81584, 35.79387, 36.05600)
longitude <- c(-78.58010, -78.78084, -78.72444, -78.62568, -78.64262, -78.67600)
radius<-c(15, 12, 12, 12, 12, 15)
ids<-c("a", "b", "c", "d", "e", "f")

shinyApp(
  ui = fluidPage(
    fluidRow(
      leafletMap(
        "map", "100%", 400,
        initialTileLayer = "//s.tiles.mapbox.com/v3/jcheng.map-5ebohr46/z/x/y.png",
        initialTileLayerAttribution = html('Maps by <a href="http://www.mapbox.com/">Mapbox</a>'),
        options=list(
          center = c(37.45, -93.85),
          zoom = 4,
          maxBounds = list(list(17, -180), list(59, 180))))),
    fluidRow(verbatimTextOutput("Click_text"))),
  server = function(input, output, session)
        map = createLeafletMap(session, 'map')
        session$onFlushed(once=T, function()

          map$addCircleMarker(lat = latitude, 
                              lng = longitude, 
                              radius = radius, 
                              layerId=ids)
        )        

        observe(
          click<-input$map_marker_click
          if(is.null(click))
            return()
          text<-paste("Lattitude ", click$lat, "Longtitude ", click$lng)
          text2<-paste("You've selected point ", click$id)
          map$clearPopups()
          map$showPopup( click$lat, click$lng, text)
          output$Click_text<-renderText(
            text2
          )

        )

  
)

addCircleMarker 函数中的参数layerIdids 传递给click$id

【讨论】:

以上是关于R传单中的标记鼠标单击事件以实现闪亮的主要内容,如果未能解决你的问题,请参考以下文章

R小册子中的标记鼠标点击事件有光泽

突出显示由选择项指向的 R 传单多边形(不单击它)

如何在闪亮中循环观察事件?单击多边形时更改传单中的样式

R Shiny with Leaflet - 单击后更改标记的颜色

求助:怎么实现css中—鼠标单击按钮后按钮换图片的效果

闪亮的 R 上的工具提示?