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

dsParcs <- read.csv2("parcs-naturels-regionaux.csv",encoding="UTF-8") %>% select(1:11)

dsParcs$lat <- as.numeric(sapply(as.character(dsParcs$WGS84),  
                    function(x) strsplit(x, split = "[, ]")[[1]][1]))
dsParcs$lng <- as.numeric(sapply(as.character(dsParcs$WGS84),  
                    function(x) strsplit(x, split = "[, ]")[[1]][3]))

# dsParcs$label = paste0("<p>",dsParcs$titre,"", dsParcs$adresse, dsParcs$ville,
#                       dsParcs$telephone.1, dsParcs$site.web, sep="\n")

labs <- lapply(seq(nrow(dsParcs)), function(i) {
        paste0( '<p>', dsParcs[i, "categorie"], '<p></p>', 
                dsParcs[i, "Titre"], ', ', 
                dsParcs[i, "adresse"], ', ', 
                dsParcs[i, "ville"],'</p><p>', 
                dsParcs[i, "telephone.1"],'</p><p>',
                dsParcs[i, "site.web"], '</p>' ) 
})


rr <- tags$div(
  HTML('<h1>Creating data products. Week 2 Course project</h1>
        <h2>Places to visit in Paris region</h2>
        <h3>Grigory Sharkov. 28/08/2018</h3>')
)  
ics <- iconList(artisant = makeIcon("./icons/artisant.png",iconWidth = 32, iconHeight = 32),
                balades = makeIcon("./icons/promenade.png",iconWidth = 32, iconHeight = 32),
                hebergement = makeIcon("./icons/restaurant.png",iconWidth = 32, iconHeight = 32),
                loisirs = makeIcon("./icons/loisirs.png",iconWidth = 32, iconHeight = 32),
                patrimoine = makeIcon("./icons/chatau.png",iconWidth = 32, iconHeight = 32),
                produits = makeIcon("./icons/produits.png",iconWidth = 32, iconHeight = 32))

levels(dsParcs$categorie) <- c("artisant","balades","hebergement","loisirs","patrimoine","produits")

dsArt <- dsParcs %>% filter(categorie == "artisanat")

leaflet(dsParcs) %>%
  addProviderTiles("CartoDB.Positron")  %>%
  addMarkers(label = lapply(labs, HTML), icon = ~ics[categorie], clusterOptions = markerClusterOptions()) %>%
  addControl(rr,position="bottomleft")