【发布时间】:2019-02-16 15:02:58
【问题描述】:
我正在shiny(ui和服务器)上开发一个应用程序,我想用Highchart包的hcmap函数实现一个地图。但是,在实现地图时,我发现函数 hcmap 与站点存在依赖关系:https://code.highcharts.com/mapdata/。
所以我的目标是在不使用互联网连接的情况下以本地方式使用关联的 javascript 文件来实现地图。我尝试了以下解决方案:我从https://code.highcharts.com/mapdata/ 检索了 javascript 文件并将其列在 www 目录中,但它没有给我任何好的结果。这是我使用的代码:
library(shinydashboard)
library(shinydashboardPlus)
library(highcharter)
library(shiny)
shinyUI(
dashboardPagePlus(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(box(width = 6,title="map",highchartOutput("map")))
)
)
)
shinyServer(function(input, output) {
output$map=renderHighchart({
data_fake=data.frame(code=c("RZ","MT","TD","OR","FB","SM","MK","DA"
,"GE","LB","OD","TO","TH","GB","CO","GC"),
value=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
)
hcmap(map=tags$head(tags$script(src="map.js")), data = data_fake, value =
"value",joinBy = c("hc-a2", "code"), name = "Fake
data",download_map_data=FALSE,
dataLabels = list(enabled = TRUE, format = '{point.name}'),
borderColor = "gray", borderWidth = 0.9,
tooltip = list(valueDecimals = 2, valuePrefix = "DH", valueSuffix = "
MAD"))%>% hc_mapNavigation(enabled = TRUE)
})
})
我希望输出是一个地图,但不依赖于https://code.highcharts.com/mapdata/ 站点,即在我的应用程序目录中以本地方式使用 javascript 文件。
使用我使用的代码映射结果:
【问题讨论】:
标签: javascript r shiny