相关疑难解决方法(0)

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

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

我想获取标记的值(例如,ID)并使用它来更新sidebarPanel.

r markers mouseclick-event leaflet shiny

22
推荐指数
1
解决办法
1万
查看次数

在navbarPage中,如何让我的Shiny leafletOutput具有height ="100%"?

(长时间用户,第一次海报)

我正在使用一个使用Leaflet包的Shiny App.没有导航菜单,我可以通过使用使LeafletOutput具有100%的高度leafletOutput('map', height='100%').

问题是,当我将此代码放在navbarPage中时,它不再有效,我的地图停止显示(下面的控制台错误).我尝试通过添加注入CSS代码,tags$style(type = "text/css", "#map {height: 100%};")但似乎没有任何影响.如果我将其更改为tags$style(type = "text/css", #map {height: 100% !important};"),代码会再次中断,我在控制台中得到相同的错误代码:

Uncaught TypeError: Cannot read property 'clearLayers' of undefined
Uncaught TypeError: Cannot read property 'addLayer' of undefined
Uncaught TypeError: Cannot read property 'clear' of undefined
Uncaught TypeError: Cannot read property 'add' of undefined
Run Code Online (Sandbox Code Playgroud)

这些错误分别在第814,726,979和1095行的leaflet.js上抛出.这些行的代码如下:

第814行:this.layerManager.clearLayers("shape");
第726行:this.layerManager.addLayer(layer, category, thisId, thisGroup);
第979 this.controls.clear();
行:第1095行:this.controls.add(legend, options.layerId);

以下是我的UI.R文件中的相关代码:

navbarPage("DHIS Data Explorer",
       tabPanel("Plot",
                tags$style(type = "text/css", "html, body, #map {width:100%;height:100%}"),
                leafletOutput('map', …
Run Code Online (Sandbox Code Playgroud)

r leaflet shiny

5
推荐指数
1
解决办法
3117
查看次数

在Shiny中的Leaflet tile map上单击事件

是否可以从tile图中的clicklet/shiny(在R中)中单击事件获取lat long?(即不是来自任何加载的标记,多边形等).只是为了显示我猜的位置(纬度/经度)信息.

我想也许从这个问题可能但没有运气.

ui <- bootstrapPage(
  tags$style(type = "text/css", "html, body {width:100%;height:100%}"),
  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)
  })

  #Show popup on click
  observeEvent(input$map_marker_click, {
    click <- input$map_marker_click
    text<-paste("Lattitude ", click$lat, "Longtitude ", click$lng)

    proxy <- leafletProxy("map")
    proxy %>% clearPopups() %>%
      addPopups(click$lng, click$lat, text)
  })

}

runApp(shinyApp(ui, server), launch.browser = TRUE)
Run Code Online (Sandbox Code Playgroud)

最终我想在Leaflet&Shiny中为栅格数据创建一个点击标记(使用返回的纬度/长度),但这将是一个良好的开端(他的qu似乎做了一些事情,但我根本无法再创建它).

r click leaflet shiny

5
推荐指数
1
解决办法
3659
查看次数

R单击光栅图像时用于传单重定向

我正在使用R的传单,当我点击光栅图像时,我只想在某个URL上重定向.我目前的代码如下:

library(htmlwidgets)
library(raster)
library(leaflet)
library(sp)

imgPath = paste(projectPath,"/test.tif", sep = "")
outPath = paste(projectPath, "/leaflethtmlgen.html", sep="")

r <- raster(imgPath)

pal <- colorNumeric(c("#FF0000", "#666666", "#FFFFFF"), values(r),
                    na.color = "transparent")

m <- leaflet() 
m <- addTiles(m) 
m <- addRasterImage(m,r, colors=pal, opacity = 0.9, maxBytes = 123123123, group = "Raster1") 
m <- addLegend(m,pal = pal, values = values(r), title = "Test")

m <-  addLayersControl(
    m, 
    overlayGroups = c("Raster1"),
    options = layersControlOptions(collapsed = FALSE)
  )
m
Run Code Online (Sandbox Code Playgroud)

结果如下:

栅格地图

redirect r raster leaflet

2
推荐指数
1
解决办法
501
查看次数

标签 统计

leaflet ×4

r ×4

shiny ×3

click ×1

markers ×1

mouseclick-event ×1

raster ×1

redirect ×1