tile-слой покрытия мегафона и мтс сдвинут относительно osm

Пытаюсь прикрутить слой покрытия мегафона и МТС, но они как-то не совпадают со слоем ОСМ и между собой. Можно ли как-то в леафлете ввести поправки?

Возможно они затачивались как-то под yandex-карты и у них какая-то иная система координат…

Вот так подключаю в леафлет (на самом деле в форк openstreetmap.ru):

    // мегафон
      osm.registerLayer(
        'megafon',
        new L.TileLayer('https://coverage-map.megafon.ru/{z}/{x}/{y}.png', {
          maxZoom: 20,
          layers: '2g,lte,lte_plus', 
          attribution: "Данные Мегафон",
          transparent: 'true',
          opacity: 1,
        }),  
        'Покрытие Мегафон',
        'D', 
        false
      );
    
    // МТС
      osm.registerLayer(
        'mts',
        new L.TileLayer('http://tiles.mts.ru/G3_New/{z}/{x}/{y}', {
          maxZoom: 20,
          attribution: "Данные МТС",
          transparent: 'true',
          opacity: 1,
        }),  
        'Покрытие МТС',
        'P', 
        false
      );
    

Мегафон - сдвинут:

МТС - сдвинут и уменьшен:

В Leaflet можно указать кастомную проекцию, попробуй туда он яндекса (где Земля эллипс) засунуть.

В интернете пишут, что это:
crs = L.CRS.EPSG3395;

Я не спец в Leaflet - прошу прощения. Но как я понял проекцию можно указать карте, не слою. А у меня другие слои же тогда поедут?

При создании слоя (как пишут: https://www.wrld3d.com/wrld.js/latest/docs/leaflet/L.TileLayer/ ) нет опции указания проекции (crs).

Вот вроде нужная статья. На гитхабе в отдельной ветке есть код с поддержкой для TMS своей проекции.

Спасибо!
Направление ясно.

Хотя боль какая-то:
Поставил код из ветки. Но это оказывается не пропатченный код, а просто отдельный проект. Скопировал Proj4Leaflet отдельно, переключился на master, подключил оба. Proj4js требует. Порылся - нашёл proj4, но оно не Proj4js. Переименовал в коде плагина в proj4. Запускаю - падает - говорит переданная проекция ESPG:900913 не нравится:


 uncaught exception: EPSG:900913 proj4-src.js:1404:8
    callback http://dev.map.prim.drsk.ru/js/proj4js-2.5.0/dist/proj4-src.js:1404
    Projection http://dev.map.prim.drsk.ru/js/proj4js-2.5.0/dist/proj4-src.js:1409
    initialize http://dev.map.prim.drsk.ru/js/Proj4LeafletTMS/src/proj4leaflet.js:9
    e http://dev.map.prim.drsk.ru/js/leaflet.js:5
    initialize http://dev.map.prim.drsk.ru/js/Proj4LeafletTMS/src/proj4leaflet.js:35
    e http://dev.map.prim.drsk.ru/js/leaflet.js:5
    initLayers http://dev.map.prim.drsk.ru/js/page.map/osm.layers.js:171
    <анонимный> http://dev.map.prim.drsk.ru/js/page.map/_map.js:4
    jQuery 4

в общем нужно погружаться в глубь и ковырять и ковырять потроха этих либ и надстроек, т.к. судя по всему они уже расплылись по версиям далеко и несовместимы :frowning:

Вместо 900913 надо использовать 3857.