Ban*_*you 5 javascript r leaflet shiny
我正在使用Shiny app创建传单地图,但想要将缩放控制的默认位置从topleft
更改为topright
.
R leaflet
包设置topleft
源代码中的默认位置.
以下问题:在leaflet.js中自定义放大/缩小按钮,我们可以map.zoomControl.setPosition('topright');
用来改变缩放控制的位置.
var map = L.map('map', {
zoomControl: true
});
map.zoomControl.setPosition('topright');
Run Code Online (Sandbox Code Playgroud)
我可以创建一个R函数来设置新的位置zoomControl
吗?例如,
zoomControlPosition <- function(map, position = 'topleft') {
# New codes add here
}
Run Code Online (Sandbox Code Playgroud)
我猜它涉及一些js
,但我没有经验js
.谢谢你的任何建议.
尝试这个:
leaflet(options = leafletOptions(zoomControl = FALSE)) %>%
htmlwidgets::onRender("function(el, x) {
L.control.zoom({ position: 'topright' }).addTo(this)
}") %>%
Run Code Online (Sandbox Code Playgroud)
我弄清楚如何改变位置zoomControl
.您可以从我的传单包中找到此功能:https://github.com/byzheng/leaflet/commit/fdf9fb159adbc0e36cc2bd7d7b33c72c17c468f6
这是使用它的最小示例:
library(shiny)
library(leaflet)
ui <- fluidPage(
leafletOutput("mymap")
)
server <- function(input, output, session) {
output$mymap <- renderLeaflet({
leaflet() %>%
addTiles() %>%
zoomControlPosition('topright')
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8443 次 |
最近记录: |