我的传单地图插件和简单的crs有问题。当我开始使用它时,我使用默认的CRS和缩放级别0-6,它工作正常。但是我需要使用像素坐标,而不是地理坐标,所以我切换到简单的CRS,这完全适用于那种情况,但是我的地图不会出现,它只是空白页面。我搜索了一些东西,没有找到解决方案,但是 注意到,其他人使用max zoom = 20而不是min zoom = 0作为起点。所以我将地图切换到16-20的缩放级别(我在那时缩小了一些最低的缩放级别)。这让我的地图工作直到我放大。缩放级别16,17和18工作得很好,但是级别19只是模糊18和20是空白的。在检查网络流量时,我发现没有请求缩放级别为19和20的磁贴。向上移动两个级别给我只是空白地图,缩放级别为0-6。此外,使用缩放级别0-20时,也不会请求缩放级别0-10。
我遇到的第二个问题是,地图不会让我放大右侧,它会一直弹到左边。
我在chrome和firefox中对此进行了测试,没有为IE烦恼,因为它的私人宠物项目我永远不会在IE中使用它。
这里可以看到整个地图http://312raf.com/maptest/
'use strict';
var map = L.map('map', {
minZoom: 16,
maxZoom: 20,
maxNativeZoom: 20,
continuousWorld: true,
reuseTiles: true,
// noWrap: false,
crs: L.CRS.Simple,
});
map.setView([0, 0], 18);
var southWest = map.unproject([0, 16384], map.getMaxZoom());
var northEast = map.unproject([12288, 0], map.getMaxZoom());
map.setMaxBounds(new L.LatLngBounds(southWest, northEast));
L.tileLayer('?img&z={z}&x={x}&y={y}', {
attribution: 'Map data © ???',
}).addTo(map);
var m = {
x: 200,
y: 400
}
var m2 = {
x: 16000,
y: 12000
}
var marker = L.marker(map.unproject([m.x, m.y], map.getMaxZoom())).addTo(map);
var marker = L.marker(map.unproject([m2.x, m2.y], map.getMaxZoom())).addTo(map);
map.on('click', function(event) {
console.log(event.latlng);
});
任何人都可以帮我这个吗? Thx提前。
答案 0 :(得分:5)
好的,显然你需要将minZoom,maxZoom和其他参数(continuousWorld,noWrap)提供给tile图层,然后才能正常工作