我想在 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)
使用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)