关于leaflet maxNativeZoom不生效的问题

有这样一种场景,比如我们项目中用到天地图的服务,天地图可获取到的最高层级是18级,而我们地图希望可以缩放到20级,这样在地图应用中,地图缩放到19到20级的时候,地图会显示空白。

我们希望19到20级的时候,地图仍然显示18级的影像,看官方API,tileLayer构造函数有这样的属性maxNativeZoom ,恰好能满足我们的问题;

当我们使用这样的代码,却发现依然不能生效:

javascript 复制代码
let map = $L.map('map', {
   maxZoom:22,
})
$L.tileLayer(layerItem.url,{
   maxNativeZoom:18,
})

想要让代码生效,需要同时设置tileLayer的maxNativeZoommaxZoom属性,否则tileLayer的maxzoom会被设置默认的18。

像这样,代码就可以正常运行了:

javascript 复制代码
let map = $L.map('map', {
   maxZoom:22,
})
$L.tileLayer(layerItem.url,{
   maxNativeZoom:18,
   maxZoom: 22
})
相关推荐
无心使然15 小时前
Openlayers图层按需分层渲染到不同Canvas画布
前端·vue.js·gis
丷丩1 天前
MapLibre GL JS第35课:显示带地形高程(三维地形)的卫星影像
javascript·gis·map·mapbox·maplibre gl js
丷丩2 天前
MapLibre GL JS第25课:添加栅格瓦片源
开发语言·javascript·gis·mapbox·maplibre gl js
丷丩3 天前
MapLibre GL JS第29课:添加Canvas源
javascript·gis·map·mapbox·maplibre gl js
丷丩3 天前
MapLibre GL JS第21课:绘制GeoJSON点图标、注记
前端·javascript·gis·mapbox·maplibre gl js
丷丩3 天前
MapLibre GL JS第20课:更新GeoJSON多边形
前端·javascript·gis·mapbox·maplibre gl js
丷丩3 天前
MapLibre GL JS第33课:渲染世界副本
javascript·gis·map·mapbox·maplibre gl js
丷丩3 天前
MapLibre GL JS第31课:添加实时数据
javascript·gis·map·mapbox·maplibre gl js
丷丩4 天前
MapLibre GL JS第28课:PMTiles源和协议
javascript·gis·map·mapbox·maplibre gl js
丷丩4 天前
MapLibre GL JS第30课:添加视频
javascript·音视频·gis·mapbox·maplibre gl js