【发布时间】:2019-12-04 10:53:08
【问题描述】:
我想为传单添加本地图块,以便在闪亮的应用程序中离线渲染它们。 尽管在 SO 上有解决方案,例如 here 和 here ,但我仍然得到没有瓷砖的灰色地图。看到一些可重现的例子真的会帮助我。 谢谢。
我的示例代码:
library(shiny)
library(dplyr)
library(RgoogleMaps)
#downloads tiles for a given regions, saves it to C:/Users/.../mapTiles/OSM
for (zoom in 0:16)
GetMapTiles(center = c(lat = 52.431635, lon = 13.194773),
zoom = zoom,
nTiles = round(c(20,20)/(17-zoom)))
#shiny ui
ui = fluidPage(leafletOutput("map"))
#create basic map, load tiles from directory and set view to centre of downloaded tiles
server = function(input, output, server){
addResourcePath(prefix = "OSM", "C:/Users/.../mapTiles")
output$map = renderLeaflet({
leaflet() %>%
addTiles( urlTemplate = "/OSM/{z}_{x}_{y}.png") %>%
setView(52.431635, 13.194773 , zoom = 10) %>% #set to the location with tiles
addMarkers(52.431635, 13.194773 )
}
)
}
shinyApp(ui, server)
【问题讨论】:
-
addResourcePath中的“OSM”与对象类似,因此必须是完整路径,即您错过了路径末尾的“/OSM”。在addTiles下,OSM 被转换回它所代表的完整路径。还要仔细检查文件夹中是否存在缩放级别为 10 的图块。 -
我之前尝试过使用
addResourcePath(prefix = "OSM", "C:/Users/.../mapTiles/OSM")。但它不起作用。在那种情况下,你说问题可能出在瓷砖本身上? zoom=10 的示例磁贴如下所示:10_550_336.png -
在父文件“OSM”下,文件夹结构应该是每个缩放级别(9、10、11、12、13....)的单独文件,在这些文件夹中,您应该有更多的文件夹通过该缩放级别的正方形系统表示总平铺区域,并且在这些文件夹中 .png 文件。您的文件结构可能有误。
-
嗯,你说得对,我的文件夹结构不好。您能否通过正确文件夹结构的示例添加答案?我没有得到最后一个“通过该缩放级别的正方形系统表示总平铺区域的更多文件夹”。谢谢!