如何在传单地图上使粒度更大(缩放更平滑)?
How to make granulatity greater (smoother zooming) on leaflet map?
我尝试为传单地图添加更大的粒度。我用谷歌搜索并阅读了一些关于 SO 的帖子,但这对我没有帮助。我在 leafletOptions
中添加了 zoomSnap
(根据 leaflet
文档)作为自定义选项,但它不起作用。我还尝试在 onRender
部分添加自定义 js 代码,但它也不起作用。任何想法如何使它成为可能?我想要像在 Mapbox 中那样进行缩放,它工作起来非常流畅(例如 https://docs.mapbox.com/mapbox-gl-js/example/simple-map/)
这是我的可重现代码。注释部分是原始 JS,我也尝试过这个但它不起作用:
library(shiny)
library(leaflet)
library(dplyr)
library(sf)
library(htmlwidgets)
ui <- fluidPage(
leafletOutput("map")
)
server <- function(input, output, session) {
coords <- quakes %>%
sf::st_as_sf(coords = c("long","lat"), crs = 4326)
output$map <- leaflet::renderLeaflet({
leaflet::leaflet(
options = leaflet::leafletOptions(
zoomSnap = 0.1)
) %>%
leaflet::addTiles() %>%
leaflet::setView(172.972965,-35.377261, zoom = 4) %>%
leaflet::addCircleMarkers(
data = coords,
stroke = FALSE,
radius = 6) #%>%
# htmlwidgets::onRender(
# "function(el, x) {
# var map = this;
# map.options({zoomSnap: 0.1});}"
# )
})
}
shinyApp(ui, server)
尝试leafletOptions(zoomSnap = 0.1, zoomDelta = 0.1)
zoomSnap = x
是强制缩放级别为 x
的倍数
zoomDelta = y
是以y
为单位改变缩放级别
我尝试为传单地图添加更大的粒度。我用谷歌搜索并阅读了一些关于 SO 的帖子,但这对我没有帮助。我在 leafletOptions
中添加了 zoomSnap
(根据 leaflet
文档)作为自定义选项,但它不起作用。我还尝试在 onRender
部分添加自定义 js 代码,但它也不起作用。任何想法如何使它成为可能?我想要像在 Mapbox 中那样进行缩放,它工作起来非常流畅(例如 https://docs.mapbox.com/mapbox-gl-js/example/simple-map/)
这是我的可重现代码。注释部分是原始 JS,我也尝试过这个但它不起作用:
library(shiny)
library(leaflet)
library(dplyr)
library(sf)
library(htmlwidgets)
ui <- fluidPage(
leafletOutput("map")
)
server <- function(input, output, session) {
coords <- quakes %>%
sf::st_as_sf(coords = c("long","lat"), crs = 4326)
output$map <- leaflet::renderLeaflet({
leaflet::leaflet(
options = leaflet::leafletOptions(
zoomSnap = 0.1)
) %>%
leaflet::addTiles() %>%
leaflet::setView(172.972965,-35.377261, zoom = 4) %>%
leaflet::addCircleMarkers(
data = coords,
stroke = FALSE,
radius = 6) #%>%
# htmlwidgets::onRender(
# "function(el, x) {
# var map = this;
# map.options({zoomSnap: 0.1});}"
# )
})
}
shinyApp(ui, server)
尝试leafletOptions(zoomSnap = 0.1, zoomDelta = 0.1)
zoomSnap = x
是强制缩放级别为 x
zoomDelta = y
是以y