library(leaflet)
library(rgdal)
## Loading required package: sp
## rgdal: version: 0.9-2, (SVN revision 526)
## Geospatial Data Abstraction Library extensions to R successfully loaded
## Loaded GDAL runtime: GDAL 1.10.0, released 2013/04/24
## Path to GDAL shared files: /usr/share/gdal/1.10
## Loaded PROJ.4 runtime: Rel. 4.8.0, 6 March 2012, [PJ_VERSION: 480]
## Path to PROJ.4 shared files: (autodetected)
streets <- readOGR("vaylat", 
                   "vainkulosaari", 
                   stringsAsFactors = F,
                   verbose = T,
                   encoding = "ISO-8859-1")
## OGR data source with driver: ESRI Shapefile 
## Source: "vaylat", layer: "vainkulosaari"
## with 996 features
## It has 4 fields
motorways <- streets[grep("Moottori", streets$Vaylatyypp), ]
motorways_xy <- spTransform(motorways, CRS("+proj=longlat +datum=WGS84"))

bridges <- streets[grep("Silta", streets$Vaylatyypp), ]
bridges_xy <- spTransform(bridges, CRS("+proj=longlat +datum=WGS84"))

paths <- streets[streets$Vaylatyypp  == 'Polku',]
paths_xy <- spTransform(paths, CRS("+proj=longlat +datum=WGS84"))

steps <- streets[streets$Vaylatyypp  == 'Porras',]
steps_xy <- spTransform(steps, CRS("+proj=longlat +datum=WGS84"))

parkways <- streets[streets$Vaylatyypp  == 'Puistotie (hiekka)',]
parkways_xy <- spTransform(parkways, CRS("+proj=longlat +datum=WGS84"))

serviceallowed <- streets[streets$Vaylatyypp  == 'Huoltoajo sallittu',]
serviceallowed_xy <- spTransform(serviceallowed, CRS("+proj=longlat +datum=WGS84"))

underpasses <- streets[streets$Vaylatyypp == 'Alikulku (jalkakäytävä, pyörätie)', ]
underpasses_xy <- spTransform(underpasses, CRS("+proj=longlat +datum=WGS84"))

k674499 <- RJSONIO::fromJSON("674499.geojson")
k674499$style <- list(weight = 1, color = "darkslategray", fillColor = "gray10", stroke = "true", fill = "true", opacity = 1, fillOpacity = 0.6)

k674500 <- RJSONIO::fromJSON("674500.geojson")
k674500$style <- list(weight = 1, color = "darkslategray", fillColor = "gray20", stroke = "true", fill = "true", opacity = 1, fillOpacity = 0.6)

k675499 <- RJSONIO::fromJSON("675499.geojson")
k675499$style <- list(weight = 1, color = "darkslategray", fillColor = "gray30", stroke = "true", fill = "true", opacity = 1, fillOpacity = 0.6)

k675500 <- RJSONIO::fromJSON("675500.geojson")
k675500$style <- list(weight = 1, color = "darkslategray", fillColor = "gray40", stroke = "true", fill = "true", opacity = 1, fillOpacity = 0.6)

leaflet(width = 1024, height = 768) %>%
  setView(24.999187, 60.188158, zoom = 16) %>%
  addTiles(
    urlTemplate = "http://tuijasonkkila.fi/tiles/kulo/{z}/{x}/{y}.png",
    attribution = 'Data source: <a href="http://www.hri.fi/fi/dataset/kartta-kulosaaren-huvilakaupungista-vuodelta-1917">Helsingin kaupungin tietokeskus</a>',
    options = tileOptions(minZoom = 15, maxZoom = 18, tms = TRUE)) %>%
  addPolylines(data = motorways_xy, color = "red", weight = 4) %>%
  addPolylines(data = paths_xy, color = "brown", weight = 4) %>%
  addPolylines(data = underpasses_xy, color = "yellow", weight = 4) %>%
  addPolylines(data = steps_xy, color = "black", weight = 5) %>%
  addPolylines(data = serviceallowed_xy, color = "white", weight = 5) %>%
  addPolylines(data = bridges_xy, color = "slateblue", weight = 4) %>%
  addPolylines(data = parkways_xy, color = "darkgreen", weight = 5) %>%
  addGeoJSON(k674499) %>%
  addGeoJSON(k674500) %>%
  addGeoJSON(k675499) %>%
  addGeoJSON(k675500)