当前位置: 首页 > 知识库问答 >
问题:

单击标记打开绘图/数据表

陆绪
2023-03-14

我在和闪亮一起写传单。工具是基本的,我有一个地图与一些标记(来自一个表与长和LAT)。

有没有一个简单的方法做这件事?

您是否有一个非常简单的例子:您在地图上有一个制造者,您单击标记,然后打开一个图、一个表或jpeg?

共有1个答案

徐经武
2023-03-14

这里是另一个例子,取自这里,并进行了一点点改编。当您点击一个标记时,下表将相应地改变。

除此之外,这里的手册是一个很好的资源:https://rstudio.github.io/leaflet/shiny.html

library(leaflet)
library(shiny)
myData <- data.frame(
  lat = c(54.406486, 53.406486),
  lng = c(-2.925284, -1.925284),
  id = c(1,2)
)
ui <- fluidPage(
  leafletOutput("map"),
  p(),
  tableOutput("myTable")
)
server <- shinyServer(function(input, output) {
  data <- reactiveValues(clickedMarker=NULL)
  # produce the basic leaflet map with single marker
  output$map <- renderLeaflet(
    leaflet() %>%
      addProviderTiles("CartoDB.Positron") %>%
      addCircleMarkers(lat = myData$lat, lng = myData$lng, layerId = myData$id)  
  )
  # observe the marker click info and print to console when it is changed.
  observeEvent(input$map_marker_click,{
    print("observed map_marker_click")
    data$clickedMarker <- input$map_marker_click
    print(data$clickedMarker)
    output$myTable <- renderTable({
      return(
        subset(myData,id == data$clickedMarker$id)
      )
    })
  })
})
shinyApp(ui, server)
 类似资料:
  • 我试图在点击时更改标记的图标编号。我使用的是角度谷歌地图。我正在使用本地资产文件夹而不是服务API设置iNurl。 单击标记时,如何更改上述图标。

  • 我正在我的演示应用程序中使用这个datepicker https://www.npmjs.com/package/react-datepicker但是我的datepicker是在我点击输入字段时打开的。当用户点击右侧的按钮和图标而不是点击输入时,我们可以打开日期选择器吗?

  • 问题内容: 我正在使用react-google-maps显示带有标记的地图,当您单击标记时,所有信息窗口都会打开。当我单击它时,我只想显示一个标记的信息窗口,而其他窗口保持关闭状态。 这是我的代码: 我用这个打开和关闭InfoWindow 我正在绘制所有标记,并在地图上显示它们。如何单击仅打开一个标记的InfoWindow? 这是一个相关的问题,但这不是React提出的,并且不使用react-go

  • 我有一个从Google maps下载静态图像的应用程序,将标记放置在我想要的位置(通过将参数传入Google static maps URL来放置)。但是,我也需要能够点击标记。我想我可以将x和y坐标转换为lon/lat,然后用这种方法计算出哪个标记被点击了,但我发现这并不容易。 我知道地图的尺寸(以像素为单位),缩放级别,以及地图的中心点(以像素和lon/lat为单位),所以我跟踪了这篇博文。不

  • 如何收听点击vuikit图标? 因此,这就是我们应该如何监听本地单击事件Vue v-on:单击对组件不起作用,但这似乎对图标不起作用https://vuikit.js.org/有人遇到过这种情况吗? 鉴于:

  • 嗨,我正在学习如何在shiny上使用传单地图,我用了这个例子: 我想通过将函数替换为来将圈替换为标记。 实际的函数是:(server.r的第98行) 我把它换成了: