仅当地图上有空白图块时,才在图层上设置特定的缩放和maxZoom

时间:2018-10-05 06:26:08

标签: javascript leaflet

我有一个图块层(使用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: &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>, <a href="http://viewfinderpanoramas.org">SRTM</a> | Map style: &copy; <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>

0 个答案:

没有答案