2016-11-25 20 views
0

Shiny integration example on the Leaflet for R pageを見て、光沢のあるアプリに表示するポリゴンをサブセット化して表示するのに問題があります。現時点で リーフレット/光沢:反応性ポリゴンを描くことができません

は、私はサイドバーで、アプリを取得していますが、メインディスプレイは単純です:

アイデアはにある「エラーが反応クラスのオブジェクトからのパスデータを取得する方法を知ってはいけません」ドロップダウンの選択に応じて、GB(3カ国)から国の多角形を選択して単独で表示します。

require(shiny) 
require(rgdal) 
require(rgeos) 
require(leaflet) 

cont <- readOGR(".\\mypath\\mypolygons.shp", "mypolygons", stringsAsFactors=FALSE) 

ui <- fluidPage(

    titlePanel("My page"), 

    sidebarLayout(
    sidebarPanel(
     selectInput("countryInput", "Country:", choices = c('England','Scotland','Wales')) 
    ), 
    mainPanel(
     leafletOutput("mymap") 
    ) 
) 
) 

server <- function(input, output, session) { 

pols <- eventReactive(input$countryInput,{cont[substr([email protected]$code,1,1)==substr(input$countryInput,1,1),]}) 

    output$mymap <- renderLeaflet({ 
    leaflet() %>% 
     addProviderTiles("CartoDB.Positron") %>% 
     addPolygons(data = pols) 
    }) 
} 


shinyApp(ui, server) 

エラー:

Warning: Error in polygonData.default: Don't know how to get path data from object of class reactive 
Stack trace (innermost first): 
    83: polygonData.default 
    82: polygonData 
    81: derivePolygons 
    80: addPolygons 
    79: function_list[[k]] 
    78: withVisible 
    77: freduce 
    76: _fseq 
    75: eval 
    74: eval 
    73: withVisible 
    72: %>% 
    71: func [#6] 
    70: output$mymap 
    4: <Anonymous> 
    3: do.call 
    2: print.shiny.appobj 
    1: <Promise> 
+0

なり「変数名は後addPolygonsラインはオープン/クローズかっこがありませんでした』あなたはあなたのシェイプファイルへのリンクを提供しましたか?私は1つを見ませんが、私は今、私の電話の上で、コンピュータではありません。 –

+0

また、光沢のない例がありますか?シェイプファイルを共有すると、これが最初に試していることです。 –

+0

申し訳ありませんが、私は数日離れていました。私はコードを修正して、以下の回答を投稿します。 – Sam

答えて

0

修正:

まず私が変更されました。

pols <- eventReactive(input$countryInput,{cont[substr([email protected]$code,1,1)==substr(input$countryInput,1,1),]}) 

to;

pols <- reactive({cont.sim[substr([email protected]$gssCode,1,1)==substr(input$countryInput,1,1),] 

とのPOL 『

addPolygons(data = pols) 

addPolygons(data = pols()) 
関連する問題