我如何接收在.js
闪亮的server.R
文件中创建的数据?
我正在使用leaflat库,我需要扩展当前地图视图的LatLngBounds。我需要在server.R
中使用此变量进行更好的处理。
所以我有
mycode.js
//get bounds of extend of view
$(document).ready(function() {
var myBounds = map.getBounds();
Shiny.onInputChange("bounds", myBounds);
});
我包含在ui.R
中
tags$body(tags$script(src="mycode.js"))
这就是Server.R
的样子:
myBoundsR <- reactive(
as.numeric(input$bounds)
print(input$bounds)
)
但是,我如何收到来自server.R
的{{1}}文件中的数据?
感觉mycode.js
仅在Shiny.addCustomMessageHandler
(或.js
)中接收数据,而.R
只能用于session$sendCustomMessage
个文件?我会用什么来将.R
文件中的内容发送到.js
文件?!
或者我可以简单地使用变量server.R
,就像我在bound
文件中创建它一样?!
答案 0 :(得分:1)
如果你想获得地图边界,你可以使用input$map_bounds
,如果map是你的传单地图的id。
这是一个例子,(使用tutorial中的传单示例代码)
library(shiny)
library(leaflet)
r_colors <- rgb(t(col2rgb(colors()) / 255))
names(r_colors) <- colors()
ui <- fluidPage(
leafletOutput("map")
)
)
server <- function(input, output, session) {
points <- cbind(rnorm(40) * 2 + 13, rnorm(40) + 48)
observe({
print(input$map_bounds)
})
output$map <- renderLeaflet({
leaflet() %>% addTiles()
})
}
shinyApp(ui, server)