2016-07-12 26 views
1

私は地図上にポリゴンのヒートマップをオーバーレイし、ユーザーの入力に応じてそれをズームすることができます。Rの光沢のあるリーフレットのaddPolygonsが反応性を損なう

ヒートマップを削除するとコードが正常に機能します。ユーザーは、(ドロップダウンリストに基づいて)ある場所から別の場所に飛び回ることができます。それは完全に最初の時間を働くポリゴンで

2番目のドロップダウンの選択肢が無いポリゴンで表示するにはちょうどマップを引き起こし、場所が移動しない、

と第三のドロップダウン選択は何も示していません。

output$HMmapstation <- renderLeaflet({ 
x <- NA 
x <- input$HMstation #picking the place to view 
x <- leaflet_map %>% setView(preloaded_stations[which(preloaded_stations$name == x),]$longitude, 
         preloaded_stations[which(preloaded_stations$name == x),]$latitude, 
         zoom = 14) %>% clearShapes() 
x <- x %>% addPolygons(data=polys_dat, color = ~pal([email protected]), 
           smoothFactor=.1, stroke = FALSE, fillOpacity = 0.1) 
x 

}) 

リーフレットマップをグローバルに、サーバ上に作成し、以下のようになっている。

leaflet_map <- (leaflet() %>% 
       addProviderTiles("OpenStreetMap.BlackAndWhite", 
           options = providerTileOptions(noWrap = TRUE,minZoom=9)) %>%#~pal(seq(1,537,1))~rainbow(50, start=0,end=.3, alpha = NULL) 
       setMaxBounds(-0.715485, 51.252031, 0.514984, 51.745313)) 

私はちょうどそれが一度に動作してから停止する理由を把握するように見える傾けます。特にポリゴンがなければ、期待どおりに動作します。

あなたが私に与えることができる任意の方向性に事前に感謝します。

答えて

2

リーフレットは、Rの震えに驚くほどのものです。私は仕事でそれをかなり使い始めています。時には、層の構築に伴って失われた機能にも苦労しています。 Rで直接作業しているあなたには答えがありませんが、私は提案があります。

私がJavascript D3の開発者になったときに発見したことの1つは、JS視覚化の最後のオブジェクトが上にあることです。

これは、ポリゴン、線、その他のオブジェクトとデータをマップに積み重ねると、その下のオブジェクトの可視性/機能性をブロックすることができることを意味します。

Javascriptに精通している場合は、chromeでdevtoolsを開いて、レイヤーがマップにどのように適用されているかを確認できます。

これを行うには、RがどのようにJSを呼び出して、それが作成するWebグラフィックをコンパイルしてから、Rスタックで何かを並べ替えることができるか、シェイプをアウトラインに変えることができるかを考えてみてください下の形状が機能を保持していること。

そして、グラフィックスがRから押し出され、手動でRを使用するよりも多くのコントロールを使って、使用している機能を制御するjavascriptを調整することが可能です。結果のファイルが正常に設定されました。

直接ここにJSでリーフレットに取り組んでとウェブの周りの多くの助けがあります。あなたは速く答えるその方法を見つけることができるかもしれません。

0

修正がすることになりましたリーフレットをrenderLeafletではなく反応的なものに入れてください。

私はまた、bethanyP応答はありがとう!

関連する問題