Страница 1 из 1

Скрипт смещения подложки на JavaScript

Добавлено: 14 фев 2016, 09:32
Geobotanic
День добрый друзья.

Просветите, как реализовать скрипт смещения подложки в leaflet.js?. Понимаю, что можно покопаться в исходниках ID или Potlatch-2, но может кто-нибудь уже это делал и знает короткий путь. Тем более, что ларчик должен просто открываться.

Re: Скрипт смещения подложки на JavaScript

Добавлено: 14 фев 2016, 23:10
ericsson
Все зависит от того, на сколько "честно" вы хотите это сделать (и для какого уровня подробности, соответственно).
Потому что можно написать костыль, который будет смещать весь div со слоем на сколько-то пикселей, но это будет иметь смысл только на малой территории и условно. А если нужно "географически корректное" смещение (в метрах, а не в пикселях и т.п.), нужно менять систему координат слоя.

Re: Скрипт смещения подложки на JavaScript

Добавлено: 15 фев 2016, 11:11
parshin
Нам на работе часто приходится рисовать тайлы в проекции Web Mercator (EPSG:3857) на карте в проекции World Mercator (EPSG:3395) и наоборот.

Делаем мы это этаким читерским приёмом: при каждом смещении карты по широте пересчитываем разность между координатами проекций и смещаем все тайлы на эту разность (более-менее работает). Там есть хитрость - кроме смещения конейнера с тайлами нужно учитывать это смещение при определении, какие тайлы нужно загружать.

В общем, вот репозиторий с этой штукой: https://github.com/ScanEx/Leaflet.TileLayer.Mercator. Вот определение смещения: https://github.com/ScanEx/Leaflet.TileL ... js#L80-L87. Казалось бы, если тут подставить просто константу или алгоритм вычисления смещения в метрах, то получится то, что нужно... Да, и по долготе аналогично нужно доделать смещение...

Re: Скрипт смещения подложки на JavaScript

Добавлено: 15 фев 2016, 17:17
Zverik
Вот как я делал: https://github.com/Zverik/leaflet-bing-iodb
Принцип примерно тот же, что parshin расписал.