我有传单地图插件和简单的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提前.
解决方法:
好的,所以显然你需要提供minZoom,maxZoom和其他参数(continuousWorld,noWrap)到tile层,然后它工作正常