传单设置视图缩放级别为R中的非整数(十进制)值?

yvgpqqbh  于 2023-10-13  发布在  其他
关注(0)|答案(2)|浏览(96)

使用leaflet R包,是否有方法将zoom设置为非整数(即decimal)value?
也就是说,介于这两个缩放级别之间的东西:

示例

zoom从第3级移动到第4级时,它看起来好像被舍入到最接近的整数
下面唯一改变的是zoom参数

library(leaflet)
library(dplyr)

leaflet() %>%
  addTiles() %>% 
  setView(lng=174.768, lat=-36.852, zoom = 3) %>% 
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R") 

leaflet() %>%
  addTiles() %>% 
  setView(lng=174.768, lat=-36.852, zoom = 3.2) %>% 
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R") 

leaflet() %>%
  addTiles() %>% 
  setView(lng=174.768, lat=-36.852, zoom = 3.4) %>% 
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R") 

leaflet() %>%
  addTiles() %>% 
  setView(lng=174.768, lat=-36.852, zoom = 3.6) %>% 
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R") 

leaflet() %>%
  addTiles() %>% 
  setView(lng=174.768, lat=-36.852, zoom = 3.8) %>% 
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R") 

leaflet() %>%
  addTiles() %>% 
  setView(lng=174.768, lat=-36.852, zoom = 4) %>% 
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")

提问

有没有办法设置一个非整数(小数)缩放?
注意?setView会导致缩放平移选项,返回404

4xrmg8kj

4xrmg8kj1#

您需要分数缩放:

var map = L.map('map', {zoomSnap: 0.25});

这里有更多关于它:https://leafletjs.com/examples/zoom-levels/
我在我的一张Map上这样使用它:

var map = L.map('map', {attributionControl: false, crs: L.CRS.Simple, zoomSnap: 0.25, minZoom: -3});

...

map.setView(xy(<%= @image.width.to_i/2 %>, <%= @image.height.to_i/2 %>), -1.5);
ohtdti5x

ohtdti5x2#

根据this post,您可以在leafletOptions中使用zoomSnap。举例来说:

leaflet(options = leafletOptions(zoomSnap = 0.25)) %>% 
  addTiles() %>% 
  setView(lng=-82.706838, lat=40.358615, zoom=7.25)

zoomSnap允许您定义缩放级别可以有多小。

相关问题