You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2019-08-21 08:12:24
- progserega
- Member

- From: Владивосток
- Registered: 2009-12-31
- Posts: 456
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
);
matrix.org: @progserega:rsprim.ru
Offline
#2 2019-08-21 08:18:39
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm
В Leaflet можно указать кастомную проекцию, попробуй туда он яндекса (где Земля эллипс) засунуть.
Offline
#3 2019-08-21 09:11:03
- progserega
- Member

- From: Владивосток
- Registered: 2009-12-31
- Posts: 456
Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm
В Leaflet можно указать кастомную проекцию, попробуй туда он яндекса (где Земля эллипс) засунуть.
В интернете пишут, что это:
crs = L.CRS.EPSG3395;
Я не спец в Leaflet - прошу прощения. Но как я понял проекцию можно указать карте, не слою. А у меня другие слои же тогда поедут?
При создании слоя (как пишут: https://www.wrld3d.com/wrld.js/latest/d … TileLayer/ ) нет опции указания проекции (crs).
matrix.org: @progserega:rsprim.ru
Offline
#4 2019-08-21 13:43:41
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm
Вот вроде нужная статья. На гитхабе в отдельной ветке есть код с поддержкой для TMS своей проекции.
Offline
#5 2019-08-22 05:22:32
- progserega
- Member

- From: Владивосток
- Registered: 2009-12-31
- Posts: 456
Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm
Вот вроде нужная статья. На гитхабе в отдельной ветке есть код с поддержкой для 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в общем нужно погружаться в глубь и ковырять и ковырять потроха этих либ и надстроек, т.к. судя по всему они уже расплылись по версиям далеко и несовместимы :-(
matrix.org: @progserega:rsprim.ru
Offline
#6 2019-08-25 09:12:39
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm
Вместо 900913 надо использовать 3857.
Offline

