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

时间:2017-07-25 09:23:43

标签: javascript leaflet zooming stamen-maps

我有一个非常基本的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>

提前致谢。

1 个答案:

答案 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;

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