在leafletjs中使用addEventListener更改crs模式

时间:2019-07-26 12:44:59

标签: leaflet

我正在尝试在管理页面中使用Django-leaflet获取自定义地图。当我编辑源代码时,可以对它进行修改:

var map = L.map('map', {
    crs: L.CRS.Simple,
    minZoom: -2
});
var bounds = [[0,0], [2781,3673]];
var image = L.imageOverlay('/static/plattegrond.jpg', bounds).addTo(map);
map.fitBounds(bounds);

但是,当我想保留django-leaflet模块时,我必须使用addEventListener更改CRS模式:

  window.addEventListener("map:init", function (event) {
    var map = event.detail.map; // Get reference to map
    var bounds = [[0,0], [2781,3673]];
    var image = L.imageOverlay('/static/plattegrond.jpg', bounds).addTo(map);
    map.fitBounds(bounds);
});

我不知道如何将CRS模式更改为CRS。现在我得到一张拉伸的图像,

编辑: 感谢peeebeee的评论,我找到了一种更改为crs.simple的方法。不幸的是,django-leaflet不允许设置负缩放,这就是我的下一个挑战:

  window.addEventListener("map:init", function (event) {
    var map = event.detail.map; // Get reference to map
     map.options.crs = L.CRS.Simple;
    var bounds = [[0,0], [2781,3673]];
    var image = L.imageOverlay('/static/plattegrond.jpg', bounds).addTo(map);
    map.fitBounds(bounds);

在settings.py中,我设置了以下选项:

LEAFLET_CONFIG = {
    'TILES': [],
    'LAYERS':[],
    'SPATIAL_EXTENT': (0, 0, 2781,3673)
}

0 个答案:

没有答案