2

所以我一般来说是 Rshiny 和 R 的新手。我正在测试 tmap 包,当我在控制台中输入它时

> working_map <- readOGR(dsn=".",layer=file_name, GDAL1_integer64_policy=TRUE)
> japan <- tm_shape(working_map) + tm_fill(col="NumIB", title="# Inbound to Cities", style="jenks")
> tmap_leaflet(japan)

我得到了一个交互式传单小部件,它允许我像传单一样查看和放大和缩小。

但我无法将它集成到我的 Rshiny 应用程序中。

# ui.R


shinyUI(fluidPage(  

  mainPanel(  
    leafletOutput("working_map", height=900)
  )

))

#server.R
output$working_map <- renderLeaflet({
  working_map <- readOGR(dsn=".",layer=filename, GDAL1_integer64_policy=TRUE) 
  japan <- tm_shape(working_map) + tm_fill(col="NumIB", title="# Inbound to Cities", style="jenks")
  tmap_leaflet(japan)
})

我尝试了各种组合。比如plotOutput,或者把tmap_leaflet放到ui.R里面。它似乎都没有工作。如果我没记错的话,tmap_leaflet 创建一个 Leaflet Widget。那我应该在ui端创建这个吗?还是我应该使用 global.R?

4

1 回答 1

2

我设法解决了它。

#ui.R

shinyUI(fluidPage(
  titlePanel("Japan Map"),

  mainPanel(    
    leafletOutput("working_map", height=900)
  )

))

#server.R
shinyServer(function(input, output) {


  output$working_map <- renderLeaflet({
    working_map <- readOGR(dsn=".",layer="japan_ver81", GDAL1_integer64_policy=TRUE)
    working_map <- tm_shape(working_map) + tm_fill(col="NumIB", title="# Inbound to Cities", style="jenks")
    tmap_leaflet(working_map)

  })


  })

变量是一个非常愚蠢的错误。我使用的包是 library(tmap) 和 library(rgdal)。

于 2017-03-18T05:58:55.683 回答