setMaxBounds不设置最大边界

时间:2018-02-26 10:42:55

标签: r leaflet r-leaflet

setMaxBounds不会将显示的矩形限制为指定的坐标。

在多次放大时(我的浏览器上有5次),它会“接近”指定的矩形,如表所示。

最小的例子

library(shiny)
library(leaflet)
ui <- fluidPage(
  column(6,
         leafletOutput('maxmap')
  )
  ,
  column(6,
         tableOutput('bbox')
  )
)
server <- function(input, output) {
  output$bbox <- renderTable(
    data.frame(Lat=c(input$maxmap_bounds$north,input$maxmap_bounds$south),
               Long=c(input$maxmap_bounds$east,input$maxmap_bounds$west)
    )
  )
  output$maxmap <- renderLeaflet({
    leaflet(width=500,height=400) %>%
      addProviderTiles('CartoDB.Positron') %>%
      setMaxBounds(lng1 = 10, lat1 = 20, lng2=11, lat2=21)
  })

}

shinyApp(ui = ui, server = server)

这可能与github setMaxBounds() sets minZoom level wrong

上的已结束问题有关

我在Windows上使用R3.4.1传单1.1.0

我误解了setMaxBounds应该做什么吗?我正在尝试它,因为setView似乎也会产生意想不到的结果,有时候需要缩放来实现所需的“窗口”,有时会点亮。

[编辑]根据MLavoie的建议,我进行了以下修改,它在1%以内工作正常,如闪亮的列表中所示。我将标记为答案。

output$maxmap <- renderLeaflet({
leaflet(width=500,height=400) %>%
  addProviderTiles('CartoDB.Positron') %>%
  setMaxBounds(lng1 = 10, lat1 = 20, lng2=11, lat2=21) %>%
  setView(zoom=RgoogleMaps::MaxZoom(latrange=20:21, lonrange=10:11, size = c(500, 400)),lat=20.5, lng=10.5)
  })

0 个答案:

没有答案