Задать вопрос
@Azperin
Дилетант

Оффсет для начальных координат?

Как сделать так, чтобы отсчет длины и ширины шел от центра карты, а не от верхнего левого угла ?

var map = L.map('mapElement', {
	crs: L.CRS.Simple,
	minZoom: 0,
	maxZoom: 0,
	continuousWorld: false,
});
map.setView([-128, 128], 0);

L.tileLayer('/img/map/{z}/{x}/{y}.jpg', {
	attribution: 'no attribution',
}).addTo(map);

map.on('click', (e) => {
	new L.marker({lat: 0, lng: 0}).addTo(map); // ставит в верхнем левом краю
});

Есть ли какая-либо настройка, при которой он будет воспринимать центр отсчета координат именно центр центрального тайла ?
тоесть сейчас чтобы поставить маркер в центр, нужно делать смещение new L.marker({lat: -128, lng: 128}).addTo(map);
вот как избавиться от необходимости прописывать это смещение без использования доп.функции ?
  • Вопрос задан
  • 284 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
dom1n1k
@dom1n1k
Предполагаю, что сделать свою проекцию, подправив функции project/unproject на ту самую дельту:
https://github.com/Leaflet/Leaflet/blob/master/src...
Ответ написан
Комментировать
@EmelyanovKonstantin
GIS архитектура, аналитика, разработка
crs: L.CRS.Simple
- у вас не географическая система координат.
Сделайте центром карты точку [0,0] -map.setView([0,0], 0); и ставьте маркеры в центр new L.marker({lat: 0, lng: 0}).addTo(map);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы