javascript 说明书-根据特定区域定义maxNativeZoom

5jvtdoz2  于 2023-01-01  发布在  Java
关注(0)|答案(1)|浏览(148)

我试图弄清楚如何为不同的区域/边界多次指定maxNativeZoom
我们的磁贴服务器有更详细的磁贴可用于欧洲的一些地区。我想让用户放大这些地区,但不是在不太详细的地区。

  • 我们有欧洲大部分地区可以使用,直到缩放级别13。
  • 荷兰大部分地区在缩放级别16下可用。
  • 荷兰的某些地区(城市)甚至可以在缩放级别17下使用。

目前,我将maxNativeZoom设置为17。这样,用户可以放大城市并检索详细的瓦片。遗憾的是,对于欧洲其他地区,这将导致灰色瓦片和大量404错误。
有没有办法,也许用一个moveend JavaScript触发器,为特定的边界设置不同的maxNativeZoom级别?也许这样做并不聪明,如果有,也请让我知道!:)

nx7onnlm

nx7onnlm1#

虽然我没有看到一个实用的方法,有不同的maxNativeZoom在同一个瓷砖层取决于地区,你可能会感兴趣的Leaflet.TileLayer.Fallback插件作为一个变通办法:
将丢失的切片替换为缩放比例较低的切片
(Demo)
更详细地说:
回退插件尝试用它的最小缩放等价物替换每个丢失的瓦片,如果那个瓦片也丢失了,它会再次变小缩放;依此类推直到服务器返回平铺图像
使用此插件,您无需显式指定maxNativeZoom选项。平铺层首先尝试获取当前缩放的平铺图像,但在服务器没有该缩放级别的图像并返回404错误的区域,平铺层将自动请求较低的缩放。
效果与maxNativeZoom类似,但由404错误自动触发。
免责声明:我是作者的插件.

相关问题