我有一个非常基本的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>
提前致谢。
答案 0 :(得分:2)
实际上可以覆盖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;