2015-01-16 6 views
0

Я использую R + Shiny для отображения карты листовки. Я хотел бы добавить несколько стран (в виде слоев) к этой карте, и я посмотрел вокруг и нашел этот веб-сайты, которые предлагают данные GeoJSON:лифтово-блестящий слой страны geojson

country GEOJSON data (detailed)

country GEOJSON data (simple)

Моя проблема заключается в том, что координаты в этих файлах - долгота, широта (следующие спецификации). Однако Лифлет (или Лифлет-Блестящий) рассчитывает на широту, долготу по любой причине.

Каков самый простой способ подкачки заказа?

Спасибо.

Carlos

+0

Кажется, не было проблемой после того, как все .. Я просто добавил стиль к моему слою, и он выглядел просто отлично. – Carlos

ответ

0

Это самый простой рабочий пример:

ui.R

library(shiny) 
library(ShinyDash) 
library(leaflet) 

shinyUI(fluidPage(
    gridster(tile.width = 125, tile.height = 125, 
      gridsterItem(col = 1, row = 1, size.x = 4, size.y = 2, 
         leafletMap(
          "map", "100%", "100%", 
          initialTileLayer = "http://{s}.tiles.mapbox.com/v3/jcheng.map-5ebohr46/{z}/{x}/{y}.png", 
          initialTileLayerAttribution = HTML('Maps by <a href="http://www.mapbox.com/">Mapbox</a>'), 
          options=list(
          center = c(49.25, 16), 
          zoom = 2, 
          maxBounds = list(list(17, -180), 
              list(59, 180)) 
         ) 
         ) 
      ) 
) 
)) 

server.R

library(RJSONIO) 

shinyServer(function(input, output, session) { 
    # create leaflet map map <- createLeafletMap(session, 'map') 
    # Draw GeoJSON m <- RJSONIO::fromJSON("./www/countries/esp.geo.json") 
    m$style <- list(weight = 5, stroke = "true", 
        fill = "true", opacity = 1, 
        fillOpacity = 0.4) 
    session$onFlushed(once=TRUE, function() { 
    map$addMarker(ncoords[[1]][1], ncoords[[1]][2]) 
    map$addGeoJSON(m) }) }) 
Смежные вопросы