shiny+leafletで地図アプリっぽいもの


地図をページ全体に表示できるようにして、緯度経度を入力できるようにしてみた。

library(shiny)
library(leaflet)
library(leaflet.providers)

ui <- fillPage(
  leafletOutput(outputId="map", height="100%"),
  absolutePanel(
    top=10,
    right=10,
    numericInput(inputId="lng", label="Longitude", value=135),
    numericInput(inputId="lat", label="Latitude", value=35)
  )
)

server <- function(input, output, session) {
  output$map <- renderLeaflet({
    leaflet() %>%
      addProviderTiles(providers$OpenStreetMap) %>%
      addProviderTiles(providers$NASAGIBS.ModisTerraTrueColorCR) %>%
      addProviderTiles(providers$OpenSeaMap) %>%
      setView(lng=input$lng, lat=input$lat, zoom=15)
  })
}

shinyApp(ui=ui, server=server)

デフォルトはOpenStreetMapの地図。

ズームアウトするとTerra/MODISのRGB画像。