library(leaflet)
library(leaflet.extras)
jspte <- 'c:/ejemplos R/puentes.js'

# Libreria V8, me permite leer JS 
v8 <- V8::v8()
v8$source(jspte)
geoJson <- v8$get('puentes')

# Es puente o Vadeo 
icons <- awesomeIconList(
  PUENTE = makeAwesomeIcon(icon='fa-fa', library='fa', markerColor = 'red'),
  VADEO = makeAwesomeIcon(icon='fa-fa', library='fa', markerColor = 'blue')
)

# Aplico libreria leaflet, en este caso la capa base es ESRI, pero puede ser OSM 

leaflet() %>% addProviderTiles(providers$Esri.WorldStreetMap) %>%
  addBootstrapDependency() %>%
  setView(-58, -29, 7) %>%
  addGeoJSONv2(
    jsonlite::toJSON(geoJson),
    labelProperty='union',
    popupProperty = propstoHTMLTable(
      table.attrs = list(class='table table-striped table-bordered'),drop.na = T),
    markerIcons = icons, markerIconProperty = 'tipo',
    markerOptions = markerOptions(riseOnHover = TRUE, opacity = 0.75),
    clusterOptions = markerClusterOptions(),
    group = 'pubs') %>%
  addResetMapButton() %>%
  addSearchFeatures(
    targetGroups = 'pubs',
    options = searchFeaturesOptions(
      propertyName = 'union', zoom=18, openPopup = TRUE, firstTipSubmit = TRUE,
      autoCollapse = TRUE, hideMarkerOnCollapse = TRUE )) %>%
  addControl("<P>Busque un puente/vadeo colocando un Nro.<br/>en Corrientes<br/>Fuente:IGN</P>",
             position='bottomright')