web-dev-qa-db-ja.com

R:タイトルをリーフレットマップに追加する

マップ全体にタイトルを追加したい(凡例のタイトルとは異なる:addLegend(...、title = ""、...):「タイトル」とは、オーバーレイされた画像コンポーネントとは異なり、マップが移動されている間もその場所にとどまるオーバーレイマップコンポーネントを意味します what the map title could look like

それはRStudioの leaflet のオプションですか?

leafletR にはtitle = ""があります引数ですが、Webページのタイトルを更新します。マップにタイトルを追加しません。

9
YGS

再現可能な例を提供する必要があります。ただし、addControlを使用すると、次のことを試すことができます。

 library(leaflet)
 library(htmlwidgets)
 library(htmltools)

 rr <- tags$div(
   HTML('<a href="https://cran.r-project.org/"> <img border="0" alt="ImageTitle" src="/PathToImage/ImageR.jpeg" width="300" height="100"> </a>')
 )  

 map_leaflet <- leaflet() %>%
   addTiles() %>%
   addMarkers(50, 50) %>%
   addControl(rr, position = "bottomleft")

 saveWidget(map_leaflet, file="testing.html")

作業ディレクトリに保存されたtesting.htmlを開くと、マップ上に画像(Map Titleを含む画像を作成するだけ)が表示されます。中心ではなく、四隅にのみコントロールを配置できます。それが役に立てば幸い!

10
MLavoie

@MLavoieのアイデアは正しいのですが、私はこのようなもっと具体的なものを探していました。

tag.map.title <- tags$style(HTML("
  .leaflet-control.map-title { 
    transform: translate(-50%,20%);
    position: fixed !important;
    left: 50%;
    text-align: center;
    padding-left: 10px; 
    padding-right: 10px; 
    background: rgba(255,255,255,0.75);
    font-weight: bold;
    font-size: 28px;
  }
"))

title <- tags$div(
  tag.map.title, HTML("Map title")
)  

map_leaflet <- leaflet() %>%
  addTiles() %>%
  addControl(title, position = "topleft", className="map-title")

これにより、leaflet-controlスクリーンショットに示されているように、タイトルを上部に配置します。

3
prusswan