我想要一个应用程序,它会在点击时产生新的点,类似于这里: R传单如何点击地图并添加一个圆圈
但标记应该是可拖动的,拖动时,坐标应该更新,显示在dataTable中.我通过mouseout事件实现了这个目标.我找到了这个解决方案,但如果我设置了两个点,它们将具有相同的坐标(从第二个点开始),并且只有在触发mouseout时才会刷新.
library(shiny)
library(leaflet)
df <- data.frame(longitude = 10.5, latitude = 48)
ui <- fluidPage(
navbarPage("Title",
tabPanel("Map",
mainPanel(leafletOutput("map", width = "100%", height = "700")
)),
tabPanel("Data", dataTableOutput("table"))
)
)
server <- function(input, output) {
output$map <- renderLeaflet({
leaflet() %>% addTiles()
})
df_r <- reactiveValues(new_data = df)
# reactive list with id of added markers
clicked_markers <- reactiveValues(clickedMarker = NULL)
observeEvent(input$map_click, {
click <- input$map_click
click_lat <- click$lat
click_long <- click$lng
clicked_markers$clickedMarker <- c(clicked_markers$clickedMarker, 1)
id <- length(clicked_markers$clickedMarker)
# Add …Run Code Online (Sandbox Code Playgroud)