Как построить координаты пикселей на листовой карте с началом координат в левом нижнем углу - PullRequest
0 голосов
/ 18 января 2019

Я новичок в листовке, и мне нужно нанести маркеры на основе значений пикселей на изображении на карте листовки, рассматривая начало оси как нижний левый угол. Как мне этого добиться?

Я установил наложение изображения для построения изображения. Также установил границы для карты. Я тоже могу строить маркеры. Я использовал метод map.unproject () для проецирования значений пикселей на изображение. Я использую CRS.Simple в качестве системы координат.

   var map = L.map('map', {
    crs: L.CRS.Simple,
    minZoom: -3,
    center: [0,-500],
    zoom: 2,
    maxZoom: 8
});

//height = 500 width = 900  
var southWest = map.unproject([0,500], map.getMaxZoom());
    var northEast = map.unproject([900,0], map.getMaxZoom());

var bounds = L.latLngBounds(southWest, northEast);
var image = L.imageOverlay('MyImage.bmp', bounds).addTo(map);

map.setMaxBounds(bounds);

var m1 = map.unproject([0,0], map.getMaxZoom());
var m2 = map.unproject([300,500], map.getMaxZoom())
var m3 = map.unproject([900,400], map.getMaxZoom())
var m4 = map.unproject([900,500], map.getMaxZoom())

L.marker(m1).addTo(map).bindPopup('m1');
L.marker(m2).addTo(map).bindPopup('m2');
L.marker(m3).addTo(map).bindPopup('m3');
L.marker(m4).addTo(map).bindPopup('m4');

В настоящее время маркер для пиксельной координаты [0,0] появляется в левом верхнем углу изображения. У меня есть значения координат, основанные на начале координат внизу слева. Я ожидал, что маркер [0,0] будет внизу слева.

1 Ответ

0 голосов
/ 18 января 2019

Я использовал метод map.unproject () для проецирования значений пикселей на изображение.

Тебе не нужно этого делать. Координаты экрана основаны на верхнем левом углу, тогда как L.CRS.Simple основаны на нижнем левом углу.

Я рекомендую перечитать учебник Leaflet по L.CRS.Simple.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...