R:向Leaflet地图添加标题

时间:2018-03-02 15:43:25

标签: r leaflet r-leaflet

我想为整个地图添加标题(与图例标题不同: addLegend(...,title =“”,...):按“标题”,我的意思是移动地图时保持原样的重叠地图组件(与重叠图像不同)what the map title could look like

对于R?

,这是RStudio的leaflet中的一个选项

leafletR有一个 title =“”参数,但它会更新网页的标题:它不会为地图添加标题。

2 个答案:

答案 0 :(得分:9)

您应该提供可重现的示例。 但是使用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")

打开您在工作目录中保存的tests.html,您将在地图上看到一张图片(只是在其中创建一张带有地图标题的图片)。它不是中心,你只能将控制放在四个角上。希望它有所帮助!

答案 1 :(得分:1)

@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标题居中,如屏幕截图所示,并将其放在顶部。