【问题标题】:Get coordinates from a drawing object from an R leaflet map从 R 传单地图中获取绘图对象的坐标
【发布时间】:2018-07-29 05:46:11
【问题描述】:

我正在构建一个闪亮的应用程序,我想从传单地图中获取多边形的坐标。具体来说,形状是使用 Leaflet.extras 包中的 Drawtoolbar 绘制的。下面是一个简单的示例应用程序。

我的问题是,如何从用户在地图上绘制的形状中获取坐标?提前谢谢你。

library(shiny)
library(leaflet)
library(leaflet.extras)

# Define UI 
ui <- fluidPage(
  leafletOutput("mymap",height=800)
)

# Define server logic 
server <- function(input, output) {
  output$mymap <- renderLeaflet(
    leaflet() %>%
    addProviderTiles("Esri.OceanBasemap",group = "Ocean Basemap") %>%
    setView(lng = -166, lat = 58.0, zoom = 5) %>%
    addDrawToolbar(
      targetGroup='draw',
      editOptions = editToolbarOptions(selectedPathOptions = selectedPathOptions()))  %>%
  addLayersControl(overlayGroups = c('draw'), options =
                     layersControlOptions(collapsed=FALSE))
)

observeEvent(input$mymap_shape_click,{
   print(input$mymap_shape_click)
})

  observeEvent(input$mymap_click,{
    print(input$mymap_click)
  })
}

# Run the application
shinyApp(ui = ui, server = server)

【问题讨论】:

  • 我不确定您的目标是什么,但也许mapedit 可以在这里提供帮助。使用drawFeatures,您将获得所有绘制几何图形的有效 sf 对象。
  • 对不起,这个函数没有被称为drawFeatures(还)而是editFeatures

标签: r leaflet


【解决方案1】:

你需要观察_draw_new_feature函数

library(leaflet.extras)

# Define UI 
ui <- fluidPage(
  leafletOutput("mymap",height=800)
)

# Define server logic 
server <- function(input, output) {

  output$mymap <- renderLeaflet(
    leaflet() %>%
      addProviderTiles("Esri.OceanBasemap",group = "Ocean Basemap") %>%
      setView(lng = -166, lat = 58.0, zoom = 5) %>%
      addDrawToolbar(
        targetGroup='draw',
        editOptions = editToolbarOptions(selectedPathOptions = selectedPathOptions()))  %>%
      addLayersControl(overlayGroups = c('draw'), options =
                         layersControlOptions(collapsed=FALSE))
  )

  observeEvent(input$mymap_draw_new_feature,{
    feature <- input$mymap_draw_new_feature

    print(feature)

  })

}

# Run the application
shinyApp(ui = ui, server = server)

【讨论】:

  • 在哪里可以找到文档并发现这些新功能,例如_draw_new_feature。如果编辑特征,是否有类似的函数可用于返回坐标?
  • @SteveMartell 我不知道任何文档。我在查看source code 时发现了它们
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
相关资源
最近更新 更多