【发布时间】: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。