我做了一个小的自制地图服务器(只有一些图片(平铺256x256像素))。
它是用固定的缩放(只有12级别的)。
现在它工作正常,我也想放大。 ;-)
现在我想知道我是否只能放大浏览器(使用传单)......所以只需使用给定的图块而不加载更高细节的图块。
我知道,浏览器会更加滞后。但这不是问题。这只是一张仅供私人使用的地图。
var mymap = L.map( 'mapid' ).fitWorld().setView( [ uriparm( 'lat' ) || 0, uriparm( 'lon' ) || 0 ], 12 );
L.tileLayer( 'getbox.php?folder={id}&lz={z}&lx={x}&ly={y}&lid={id}&ld=1', {
maxZoom: 12,
minZoom: 12,
attribution: '',
id: test
} ).addTo( mymap );
利用minNativeZoom
and maxNativeZoom
的L.TileLayer
选项。引用文档:
maxNativeZoom
磁贴源可用的最大缩放编号。如果指定,则所有缩放级别高于
maxNativeZoom
的图块将从maxNativeZoom
级别加载并自动缩放。
(minNativeZoom
的同意)
因此,如果您的磁贴服务器只有12级磁贴,您应该尝试以下方法:
L.tileLayer( 'getbox.php?folder={id}&lz={z}&lx={x}&ly={y}&lid={id}&ld=1', {
maxNativeZoom: 12,
minNativeZoom: 12,
maxZoom: 14,
minZoom: 10,
attribution: '',
id: test
} ).addTo( mymap );
请稍微尝试一下这些值,但要注意minZoom
和minNativeZoom
之间的巨大差异将导致您的浏览器尝试加载几百万个磁贴,并且很可能会崩溃。