Closed dcooley closed 5 years ago
library(googleway)
library(mapdeck)
library(sf)
set_key("GOOGLE_MAP_KEY")
sf <- spatialwidget::widget_melbourne
googleway::google_map() %>%
mapdeck::add_dependencies() %>%
mapdeck::add_polygon(
data = sf
, fill_colour = "SA3_NAME"
)
shiny example
library(shiny)
library(shinydashboard)
library(googleway)
library(mapdeck)
ui <- dashboardPage(
dashboardHeader()
, dashboardSidebar()
, dashboardBody(
mapdeck::mapdeck_dependencies()
, box(
width = 8
, googleway::google_mapOutput(
outputId = "map"
, height = "600"
)
)
)
)
server <- function( input, output ) {
output$map <- googleway::renderGoogle_map({
googleway::google_map(
location = c(0,0)
, zoom = 2
) %>%
mapdeck::add_dependencies() %>%
mapdeck::add_scatterplot(
data = mapdeck::capitals
, lat = "lat"
, lon = "lon"
)
})
}
shinyApp( ui, server )
Mixing googleway
and mapdeck
layers
google_map() %>%
googleway::add_heatmap(
data = tram_stops
, option_radius = 0.0025
) %>%
mapdeck::add_dependencies() %>%
mapdeck::add_scatterplot(
data = tram_stops
, lon = "stop_lon"
, lat = "stop_lat"
, radius = 50
, fill_colour = "stop_lat"
)
But it's a bit laggy
support
https://github.com/uber/deck.gl/blob/master/examples/get-started/pure-js-google-maps/app.js
TODO
placeControl
[x] Article on website
TESTS