У меня есть слой листов (с использованием OpenTopoMap), и я установил уровень масштабирования по умолчанию 13
.Но некоторые плитки в определенных областях не отображаются при таком уровне масштабирования, поэтому они отображаются как пустые / пустые плитки.Если я установлю уровень масштабирования ниже, будут отображены плитки OpenTopoMap для этой области.
Для областей, имеющих пустые плитки, я хочу установить уровень масштабирования на 12
(вместо 13
), чтобыплитки отображаются с более низким уровнем масштабирования.Я попытался установить / перенастроить maxZoom
и / или maxNativeZoom
, но они, очевидно, установили maxZoom
независимо от того, есть ли пустые плитки или нет.
Как я могу установить уровень zoom
и maxZoom
уровень этого слоя до 12
только если на карте есть пустые тайлы?
var map = L.map('map', {
center: [6.8387, 121.5549],
zoom: 13,
maxZoom: 14,
minZoom: 12,
zoomDelta: 1,
dragging: !1,
scrollWheelZoom: !1
});
L.tileLayer("https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png", {
maxZoom: 14,
maxNativeZoom: 14,
attribution: 'Map data: © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>, <a href="http://viewfinderpanoramas.org">SRTM</a> | Map style: © <a href="https://opentopomap.org">OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)'
}).addTo(map);
#map {
height: 300px;
}
<script src="https://unpkg.com/leaflet@1.3.4/dist/leaflet.js"></script>
<link href="https://unpkg.com/leaflet@1.3.4/dist/leaflet.css" rel="stylesheet" />
<div id="map"></div>