2016-07-23 2 views
2

はまだ答えはselectize選択肢(複数)に基づいてマップ様々な層の上にキャストしようと 明らかである場合には申し訳ありませんが、シャイニー/ Rを使用する方法を学ぶ は、だから私は得た:selectize - 複数の選択肢のための光沢のある、アクション

selectizeInput('bays', 'Select rough bay outlines', 
choices = list("Residents" = "residents", `Pay to park` = "ptp", 
"Shared use" = "shared"), multiple = TRUE) 

すべて同等のは、マップのために使用されるべきgeojsonファイルである(ここでは「住民」が、もちろんそれはselectize入力から選択されたオプションで移入):

topoData <- readLines("residents.geojson", warn = FALSE) 
%>% paste(collapse = "\n") 

leafletProxy("mymap") %>% 
addPolylines(topodata) 

どのように構築することができますobserveEvent(input$bays,...)すべての選択肢が上記のアクションを引き起こします(もちろん正しいgeojsonファイルで)?私は1つの選択のためにそれを行うことができますが、複数の選択肢は別の方法を必要とするかもしれません。 submitボタンを使用するか、アクションに反応する方が効果的でしょうか?選択リストに値を追加するか削除することができますか?そして最後に、selectize - plug-in "remove_button"にクールなガジェットがあります。アイテムを削除するために小さなマーカーでエントリを追加しています - 私はjavascriptのために見ましたが、光沢のないものは何とか可能ですか?

$('#input-tags3').selectize({ 
    plugins: ['remove_button'], 
    delimiter: ',', 
    persist: false, 
    create: function(input) { 
     return { 
      value: input, 
      text: input 
     } 
    } 
}); 

答えて

0

あなたはobserveEventが、reactiveを望んでいません。このような何か作業をする必要があります:

# server 
topoData <- reactive(
paste(
lapply(
paste0(input$bays,".geojson"), function(geojson) { 
readLines(geojson) 
} 
),collapse="\n") 
) 



leafletProxy %>% addPolyLines(topoData()) 

input$baysは、選択にGeoJSONファイルのベクトルであり、人々は反応性ステートメント(およびステートメントを守っ)内のサーバーにselectize入力に値の更新を変更するように、それは、反応性です。

topoDataは反応します。選択されたgeojsonファイルを返します。私が正しく理解していれば、各ファイルの上にある別のファイルを1つの文字に貼り付けるだけでした。 leafletProxyobserveに入っている可能性があります。わかりません。

+0

ありがとう、今夜それをチェックします、どうやってさまざまな色を適用するか考えていますか?反応性のある内部のスイッチ?または外のスイッチ?それとも多分何か? – Slav

関連する問題