R 在“闪亮”中更改谷歌地图热图选项
我正在使用谷歌图书馆在闪亮的R 热图显示正确,但我无法更改热图选项。如果我取消注释试图更改选项的块代码,应用程序将崩溃 下面是代码中有效的部分,注释掉了有问题的行R 在“闪亮”中更改谷歌地图热图选项,r,shiny,heatmap,googleway,R,Shiny,Heatmap,Googleway,我正在使用谷歌图书馆在闪亮的R 热图显示正确,但我无法更改热图选项。如果我取消注释试图更改选项的块代码,应用程序将崩溃 下面是代码中有效的部分,注释掉了有问题的行 library(googleway) library(magrittr) library(shiny) library(shinydashboard) # Define UI for app header1 <- dashboardHeader( title = "My Dashboard" ) sidebar1 &l
library(googleway)
library(magrittr)
library(shiny)
library(shinydashboard)
# Define UI for app
header1 <- dashboardHeader(
title = "My Dashboard"
)
sidebar1 <- dashboardSidebar(
sidebarMenu(
fileInput("file0", "Choose CSV File",
multiple = TRUE,
accept = c("text/csv",
"text/comma-separated-values,text/plain",".csv")),
sliderInput("opacity", "Opacity:",
min = 0, max = 1,
value = 0.5, step = 0.05),
sliderInput("radius", "Radius:",
min = 0, max = 50,
value = 25),
sliderInput("blur", "Blur:",
min = 0, max = 1,
value = 0.75, step = 0.05),
sliderInput("maxvalue", "MaxValue:",
min = 0, max = 1,
value = 1, step = 0.05)
) #sidebarMenu
) #dashboardSidebar
body1 <- dashboardBody(
fluidRow(
tabBox(
title = "TabBox Title 1",
id = "tabset1", height = "400px", width = 11,
selected = "Tab1",
tabPanel("Tab1",
google_mapOutput("Map1")
),
tabPanel("Tab2", "Tab content 2")
) #box
) #fluidRow
) #dashboardBody
ui <- dashboardPage(header1, sidebar1, body1)
# Define data
df <- data.frame(lat = c(14.61),
lon = c(-90.54),
weight = c(100))
# Define SERVER logic
server <- function(input, output, session) {
map_key <- "my_key"
## https://developers.google.com/maps/documentation/javascript/get-api-key
## plot the map
output$Map1 <- renderGoogle_map({
google_map(key = map_key, data = df, zoom = 2, search_box = F) %>%
add_heatmap(weight = "weight") #%>%
#add_traffic()
}) #renderGoogle_map
observeEvent(input$opacity, {
# THIS PART IS COMMENTED OUT BECAUSE THE APP CRASHES
# google_map_update(map_id = "Map1") %>%
# update_heatmap(data = df, option_opacity = input$opacity)
}) #observeEvent
} #server
# Run app
shinyApp(ui, server)
library(googleway)
图书馆(magrittr)
图书馆(闪亮)
图书馆(shinydashboard)
#定义应用程序的用户界面
header1您可以使用反应({})
携带输入$opacity
值,并将其直接传递到添加热图()
以实现不透明度响应
这仍然可以在google\u map\u update()
中完成,但是您必须首先清除热图层,否则您只能在每个层的顶部添加层
server <- function(input, output, session) {
map_key <- "your_key"
## https://developers.google.com/maps/documentation/javascript/get-api-key
opacity <- reactive({
return(input$opacity)
})
## plot the map
output$Map1 <- renderGoogle_map({
google_map(key = map_key, data = df, zoom = 2, search_box = F) %>%
add_heatmap(weight = "weight") #%>%
#add_traffic()
}) #renderGoogle_map
observeEvent(input$opacity, {
google_map_update(map_id = "Map1") %>%
clear_heatmap() %>%
add_heatmap(data = df, option_opacity = opacity())
})
}
} #server
server%
添加\u热图(数据=df,选项\u不透明度=opacity())
})
}
}#服务器
update\u heatmap
没有选项\u opacity
参数。您当前只能更新weight
值您是否可以将input$opacity
直接传递到add\u heatmap(option\u opacity=)
以实现您想要的控制?@Nate-是的,但是您必须先清除原始的heatmap层,这在大数据上可能看起来很笨拙。我已经添加了这个,但我不确定它现在是如何可行的(注释:我是GooGeWoad的作者)一个很好的工作,但是也许考虑使用它在<代码> GoGoLeLeMaPuxUpdate <代码>中,来更新当前的地图,而不是每次重新加载一个新的地图。另外,如果你感兴趣的话,我已经做了很多补充,明天早上一定会阅读这些例子。来自UTC-5的干杯。也是如此awesome@fhaidacher-在github的开发版本中,add\u heatmap()
函数有一个update\u map\u view
参数。将此设置为false,它将起作用。dev版本的安装说明在github的最新版本中,我现在有一个示例,您可以在其中更新。该版本不久将发布到CRAN