2015-04-10 4 views
0

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

Однако у меня возникают проблемы с проекцией координат координаты прямоугольников в точные координаты пикселей в исходном изображении.

Я думал, что следующее будет работать, однако его пиксельные координаты, которые являются неправильными.

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)); 
    } 
}); 

Ниже приведен пример из в точной проекции из координат карты (левое изображение) в пиксельных координатах (справа изображение).

Map selectionImage selection

Что я делаю неправильно?

ответ

0

На самом деле оказывается, что я ничего не делал неправильно, эта идея отлично работает.

Я использовал ширину и высоту исходного изображения, однако во время обработки MapTiler изменил разрешение базового изображения. Я понял это, восстановив плитки и проверив пример leaflet.html, созданный MapTiler. Я был удивлен, увидев, что границы были установлены на 2 * (ширина исходного базового изображения) и 1,99 * (высота исходного базового изображения).

Принимая во внимание эту информацию, зафиксировал мою неточную проекцию.

Смежные вопросы