我正在尝试使用leafletjs创建自定义地图,并且我已经为0.6.x版本找到了它,但是当它涉及最新版本(0.7.x)时它不起作用。
这是适用于0.6.x的代码
以前有人遇到过这个问题吗?
var mapMinZoom = 0;
var mapMaxZoom = 5;
var map = L.map('wu-map', {
maxZoom: mapMaxZoom,
minZoom: mapMinZoom,
crs: L.CRS.Simple
}).setView([0, 0], mapMaxZoom);
var mapBounds = new L.LatLngBounds(
map.unproject([0, 3072], mapMaxZoom),
map.unproject([4352, 0], mapMaxZoom));
map.fitBounds(mapBounds);
L.tileLayer('images/map/{z}/{x}/{y}.png', {
minZoom: mapMinZoom, maxZoom: mapMaxZoom,
bounds: mapBounds,
attribution: 'Rendered with <a href="http://www.maptiler.com/">MapTiler</a>',
noWrap: true,
tms: false
}).addTo(map);
答案 0 :(得分:1)
当leaflet.js
选项设置为crs
值(而不仅仅是)时,L.CRS.Simple
0.7版本中存在一个错误。 Leaflet 0.7引入了L.CRS.getSize
(一个函数,它返回特定坐标参考系统特定缩放的世界大小),默认情况下调用并返回与L.CRS.scale
相同的值。它适用于默认的CRS,而对其他CRS则无效。
我建议的是从您的选项对象中删除crs: L.CRS.Simple
,它将设置为默认值(L.CRS.EPSG3857
):
var map = L.map('wu-map', {
maxZoom: mapMaxZoom,
minZoom: mapMinZoom
}).setView([0, 0], mapMaxZoom);