-
Notifications
You must be signed in to change notification settings - Fork 0
/
leaflet_example.R
52 lines (40 loc) · 1.61 KB
/
leaflet_example.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Libraries
library(leaflet) ### check here https://leaflet-extras.github.io/leaflet-providers/preview/
##for more tiles options
library(ggmap)
library(raster)
library(RColorBrewer)
library(htmlwidgets)
# Get canada shapefile
moz3 <- getData('GADM', country = 'MOZ', level = 3)
# Subset to just include area of Manhica and Magude
man <- moz3[moz3@data$NAME_1 == 'Maputo', ]
# cols
cols0 <- colorRampPalette(brewer.pal(9, 'Spectral'))(nrow(man))
### This functions builds a vector of colors from any combination : USEFUL!!!!!!
### So that every area is a dif color.
# Geocode our location address
meetup <- geocode(location = 'Centro de Investigação em Saude de Manhiça',
source = 'google') ### SUPER USEFUL!!!!
m <- leaflet(man) %>%
addProviderTiles("Esri.DeLorme") %>%
# addProviderTiles("OpenStreetMap.BlackAndWhite") %>%
# addProviderTiles('Stamen.Watercolor') %>%
addPolygons(
stroke = FALSE, fillOpacity = 0.9, smoothFactor = 0.5,
# color = ~colorQuantile("YlOrRd", moz$ID_1)(ID_1)
color = cols0) %>%
addMarkers(lng = meetup$lon,
lat = meetup$lat,
popup = 'Here we are')
## Create a vector of places
places<- c("Game", "Praça da OMM")
types<-c("supermarket", "square")
places<-paste0(places,", Mozambique")
geocoded_places<-geocode(location=places,source="google")
ex<-leaflet() %>%
addProviderTiles("OpenStreetMap.HOT") %>%
# addMarkers(lng=geocoded_places$lon, lat=geocoded_places$lat,
# popup=types)
# Save the widget to an html file
saveWidget(m, file="~/Desktop/map_which_you_can_put_in_iframe_if_u_want.html")