如何在 R Shiny 中同步地图

the*_*ean 3 r leaflet shiny

我想在 R 闪亮的网络应用程序中同步两张地图(放大一张地图应该放大另一张地图并平移等),我设法使用下面显示的代码以交互方式执行此操作,但我不知道如何在 Shiny Web 应用程序中执行此操作。任何帮助,将不胜感激

my_map <- function(x){
    m <- leaflet() %>%
    addTiles() %>%  # Add default OpenStreetMap map tiles
    addMarkers(lng=x[1], lat=x[2], popup="The birthplace of R")
    m
}

y <- c(174.968, 37.852)
x <- c(0.112281, 51.523001)

sync(my_map(x), my_map(y), no.initial.sync = TRUE)
Run Code Online (Sandbox Code Playgroud)

Cri*_*lva 5

使用sync()作为UI输出,而不是leafletOutput为我工作。

ui

uiOutput("synced_maps")
Run Code Online (Sandbox Code Playgroud)

server

output$synced_maps <- renderUI({
   m1 <- leaflet() %>% addTiles() %>% addMarkers(~lon1, ~lat1)
   m2 <- leaflet() %>% addTiles() %>% addMarkers(~lon2, ~lat2)
   sync(m1, m2)      
})
Run Code Online (Sandbox Code Playgroud)