R/Shiny + leaflet의 클릭 좌표로지도에 다각형을 그립니다.
reactiveValues
의 초기화는 각 리스트에 NULL 를 넣어두면 된다.library(shiny)
library(leaflet)
ui <- fluidPage(
leafletOutput(outputId="map", height="800"),
actionButton(inputId="polygon", label="Draw Polygon"),
tableOutput(outputId="rv")
)
server <- function(input, output, session){
output$map <- renderLeaflet(expr={
leaflet() %>%
addTiles() %>%
setView(lng=135, lat=35, zoom=9)
})
rv <- reactiveValues(lat=NULL, lng=NULL)
observeEvent(
eventExpr=input$map_click,
handlerExpr={
rv$lat <- append(rv$lat, input$map_click$lat)
rv$lng <- append(rv$lng, input$map_click$lng)
X <- data.frame(lat=rv$lat, lng=rv$lng)
leafletProxy(mapId="map", session=session, data=X) %>%
addPolylines(lng=X$lng, lat=X$lat)
}
)
output$rv <- renderTable(expr={
data.frame(rv$lat, rv$lng)
})
observeEvent(eventExpr=input$polygon, handlerExpr={
X <- data.frame(lat=rv$lat, lng=rv$lng)
leafletProxy(mapId="map", session=session, data=X) %>%
clearShapes() %>%
addPolygons(lng=X$lng, lat=X$lat)
rv$lat <- NULL
rv$lng <- NULL
})
}
shinyApp(ui, server)
Reference
이 문제에 관하여(R/Shiny + leaflet의 클릭 좌표로지도에 다각형을 그립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yono2844/items/d45588893d5860aec18d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)