То, что я пытаюсь достичь, - это когда прямоугольник рисуется на карте, я хочу проецировать эти координаты координат прямоугольников в координатное пространство исходного изображения, чтобы я мог обрезать оригинал изображения и предоставить ссылку для загрузки пользователю.Листовка: координаты координаты проекта с координатами пикселей
Однако у меня возникают проблемы с проекцией координат координаты прямоугольников в точные координаты пикселей в исходном изображении.
Я думал, что следующее будет работать, однако его пиксельные координаты, которые являются неправильными.
map.on('draw:created', function(e){
var type = e.layerType,
layer = e.layer;
if(type == 'rectangle'){
if(rectangle){
drawnItems.removeLayer(rectangle);
}
rectangle = layer;
drawnItems.addLayer(rectangle);
var north_west = rectangle.getBounds().getNorthWest();
var south_east = rectangle.getBounds().getSouthEast();
var top_left_pixel = map.project([north_west.lat, north_west.lng], map.getMaxZoom());
var bottom_right_pixel = map.project([south_east.lat, south_east.lng], map.getMaxZoom());
alert("top_left_pixel: " + (top_left_pixel.x/4) + ", " + (top_left_pixel.y/4) + " bottom_right_pixel: " + (bottom_right_pixel.x/4) + ", " + (bottom_right_pixel.y/4));
}
});
Ниже приведен пример из в точной проекции из координат карты (левое изображение) в пиксельных координатах (справа изображение).
Что я делаю неправильно?