I'd like to make some style changes to my leaflet map.
Is it possible to include
either via htmlwidgets for R or LeafletR?
Best
With no code whatsoever in your question, answering is very difficult. I'll attempt an answer. There are two methods of adding custom CSS
to an htmlwidget
. I will caution up front though that you will need to be very specific or use the !important
override, since there is already quite a bit of CSS
that is automatically added to leaflet
.
Easy but Less Robust
htmlwidgets
can be combined with tags
from the htmltools
package.
library(leaflet)
library(htmltools)
# example from ?leaflet
m = leaflet() %>% addTiles()
# there are two approaches to the custom css problem
# 1. the easy but less robust way
browsable(
tagList(list(
tags$head(
# you'll need to be very specific
tags$style("p{font-size:200%;}")
# could also use url
#tags$link(href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css",rel="stylesheet")
),
m
))
)
More Robust with htmlDependency
You can also use the htmlDependency
which will handle conflicts caused by duplicates.
# 2. you can add dependencies to your leaflet map
# this mechanism will smartly handle duplicates
# but carries a little more overhead
str(m$dependencies) # should be null to start
#
m$dependencies <- list(
htmlDependency(
name = "font-awesome"
,version = "4.3.0"
# if local file use file instead of href below
# with an absolute path
,src = c(href="http://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css")
,stylesheet = "font-awesome.min.css"
)
)
m