2017-03-08 28 views
0

私は光沢のあるアプリでさまざまなレイヤーを追加する際に問題があります。私は任意の(.png)アイコンのグループと一緒に円マーカーのグループと一緒にポリゴンのグループを追加したいと思います。私はgeojsonファイルのグループをforループに追加して、関数でobserve({})ステートメントにラップします。 map $ addGeoJSON(x)xは座標を持つフィーチャーです。オブジェクトがコマンドによって作成されたShiny in Rのリーフレットマップに複数のレイヤーを追加

map <- createLeafletMap(session, 'map') 

「をマッピングする」これは、すべての罰金とダンディで、ポリゴンは細かい追加されます。私はまた、ポリゴンを追加するこの方法にコミットしたいと思います。それは変更する必要はありません。

同じ方法でマップオブジェクトにマーカーを追加しようとするとエラーが発生します(マップ$ addMarkers(....など))。以下はマーカーとマーカーを追加しようとするアプリケーションのエラーとコードです希望の方法で失敗します。地震データと以下 光沢のあるアプリが(どのように)関数createLeafletMapを(使用を主張しながら、私は正確にマーカーを追加することができます)

"Listening on ... 
Warning: Error in observerFunc: attempt to apply non-function 
Stack trace (innermost first): 
    56: observerFunc [C:/Users/jbz/Desktop/leaflet-map-question.R#35] 
    1: runApp 
ERROR: [on_request_read] connection reset by peer" 

library(shiny) 
library(leaflet) 
library(RColorBrewer) 

ui <- bootstrapPage(
    tags$style(type = "text/css", "html, body {width:100%;height:100%}"), 
    leafletMap("map", width = "100%", height = "100%", 
      options=list(center = c(40.736, -73.99), zoom = 14)), 
    absolutePanel(top = 10, right = 10, 
       sliderInput("range", "Magnitudes", min(quakes$mag), max(quakes$mag), 
          value = range(quakes$mag), step = 0.1 
       ), 
       selectInput("colors", "Color Scheme", 
          rownames(subset(brewer.pal.info, category %in% c("seq", "div"))) 
       ), 
       checkboxInput("legend", "Show legend", TRUE) 
) 
) 

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

    filteredData <- reactive({ 
    quakes[quakes$mag >= input$range[1] & quakes$mag <= input$range[2],] 
    }) 

    colorpal <- reactive({ 
    colorNumeric(input$colors, quakes$mag) 
    }) 


    map <- createLeafletMap(session, 'map') 

    observe({ 
    df <- filteredData() 
    map$addMarkers(
     lng=df$Lon, lat=df$Lat, popup = paste(as.character(df$mag))) 
    }) 
} 

shinyApp(ui, server) 

私のエラーを再現しますか?

map <- createLeafletMap(session, 'map') 
+0

library(dplyr) df <- filteredData() leafletProxy("map") %>% addMarkers(df, lng = ~Lon, lat = ~Lat, popup = paste(as.character(df$mag)) 

あなたはあまりにも、あなたの 'createLeafletMap()'関数を供給することはできますか? 'LNG = DFの$の経度、緯度= DF $ lat' – SymbolixAU

+0

' createLeafletMap'が – HubertL

+0

ケースミスを推奨されていません「(どのように)関数createLeafletMap()の使用を主張しながらマーカーを正しく追加できますか? " - あなたの答えは:いいえ? – HubertL

答えて

0

試し:observe

+0

OP状態のような構造を複製しようとすると:: – HubertL

+0

マップはまだ 'createLeafletMap()'を使って作成されます。 'renderLeaflet'は違うでしょう。 –

+0

Warning:UseMethodのエラー: 'metaData'の適用可能なメソッドがクラス "NULL"のオブジェクトに適用されていません – HubertL

関連する問題