特定のレイヤの不透明度を制御するRリーフレットアプリケーションにスライダを追加するにはどうすればよいですか?このアプリケーションでは、スタンドアローンのHTMLページにエクスポートする必要があるため、光沢を使用することは望ましくありません(ここで提案します:adding sliders in R leaflet app)。Rリーフレットに不透明スライダを追加
次の例では、2つのCartoDBレイヤーを用意しています。これらのレイヤーの1つ、たとえばベースマップレイヤーの不透明度を制御したいとします。
Leaflet.js - Set Opacity to LayerGroup with Sliderには、このようなスライダの追加方法が記載されています。また、htmlwidgets :: onRender関数を使用してJavaScriptコードをhtmlwidgetに追加できることがわかりました。
私は次のコードを実行しようとしましたが、これはうまくいきません。スライダーは表示されますが、何もしません。さらに、スライダをドラッグしたときに地図がパンします。
library(leaflet)
leaflet() %>%
addProviderTiles(provider = "CartoDB.PositronNoLabels", group="Basemap", layerId = 123) %>%
addTiles("http://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}.png", group="Labels") %>%
addLayersControl(baseGroups="Basemap", overlayGroups = "Labels") %>%
addControl(html="<input id=\"slide\" type=\"range\" min=\"0\" max=\"1\" step=\"0.1\" value=\"1\" onchange=\"updateOpacity(this.value)\">") %>%
onRender("
function updateOpacity(value) {
this.getLayer(123).opacity(value);
}
")
私を助けることができる人は誰ですか?前もって感謝します!
私は明日見ようとします。 – timelyportfolio