在传单雄蕊地图中排除缩放级别

Exclude zoom level in leaflet stamen map

我有一个非常基础的stamen map。如果我缩放到 19 级,则地图不会显示。 我认为这是因为文件 http://maps.stamen.com/js/tile.stamen.js 中的最大级别 18。 我能做些什么,提供某人缩放到 19 级?

<!DOCTYPE HTML>
<html>
<head>
<title>Eine OSM Karte mit Leaflet</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.1.0/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.1.0/dist/leaflet.js"></script>
<script type="text/javascript" src="http://maps.stamen.com/js/tile.stamen.js"></script>
</head>
<body>
<div style="height: 700px;" id="mapid"></div>
<script>
var mymap = L.map('mapid').setView([50.27264, 7.26469], 13);
var layer = new L.StamenTileLayer("watercolor");
mymap.addLayer(layer);
</script>
  toner,terrain,terrain-classic,watercolor
</body>
</html>

提前致谢。

实际上可以覆盖 StamenTileLayer 的选项。

实例化后,只需将其设置为 options.maxZoom(在您的情况下为 19,以便图层在该缩放级别保留在地图上)和 options.maxNativeZoom(在您的情况下为 18,这样 Leaflet 就不会尝试在缩放 19 时获取图块,而是重新使用缩放 18 中的图块并适当地缩放它们。

var layer = new L.StamenTileLayer("watercolor");

// Override Tile Layer maxZoom.
layer.options.maxZoom = 19;

// But specify that tiles are available only up to zoom level 18.
layer.options.maxNativeZoom = 18;

演示:http://plnkr.co/edit/gumgWckQycEvg9Gaqt3s?p=preview