我正在使用R + Shiny来显示传单地图。我想在这张地图上添加几个国家(以图层的形式),我环顾四周,找到了提供GEOJSON数据的网站:
country GEOJSON data (detailed)
我的问题是这些文件中的坐标是经度,纬度(以下规格)。但是,Leaflet(或Leaflet-Shiny)无论出于何种原因都预期纬度,经度。
交换订单最简单的方法是什么?
感谢。
卡洛斯
答案 0 :(得分: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) }) })