Я пытаюсь включить плагин листовки OSMBuildings в блестящее приложение. Здания появляются, но они расположены за базовой картой.
Вы можете увидеть здания, если вы увеличите или уменьшите масштаб или удалите линию с помощью addTiles() %>%
.
Интересно, когда addTiles()
удалено, масштабирование больше не работает, но наклон работает. С опрокидыванием базовой карты больше не работает.
Итак:
- Как я могу расположить здания поверх плиток OSM?
- Как можно наложить слой зданий увеличивать / уменьшать, изменять масштаб и исчезать при определенных уровнях увеличения?
library(shiny)
library(htmlwidgets)
library(leaflet)
ui <- fluidPage(
tags$head(tags$link(href = "https://cdn.osmbuildings.org/4.0.0/OSMBuildings.css")),
tags$head(tags$script(src = "https://cdn.osmbuildings.org/4.0.0/OSMBuildings.js")),
leafletOutput("map")
)
server <- function(input, output, session) {
output$map <- renderLeaflet({
leaflet() %>%
addTiles() %>%
setView(lat = 52.52000, 13.41000, zoom = 15) %>%
onRender("function(el, x) {
var osmb = new OSMBuildings({
container: 'map',
position: { latitude: 52.52000, longitude: 13.41000 },
tilt: 30,
minZoom: 14,
maxZoom: 20,
zoom: 15
})
osmb.addGeoJSONTiles('http://{s}.data.osmbuildings.org/0.2/anonymous/tile/{z}/{x}/{y}.json', {
fixedZoom: 15,
minZoom: 14,
maxZoom: 20
});
}"
)
})
}
shinyApp(ui, server)