javascript – Leaflet Simple CRS

我有传单地图插件和简单的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层,然后它工作正常

上一篇:javascript – 在传单版本1.0.2中未触发事件视图复制


下一篇:leaflet地图资源整理