Потому что в картографии используются проекции. Если Вы попытаетесь нарисовать геометрическую фигуру (дом, например) только по координатам, в районе экватора все будет отображаться как надо, но чем ближе мы смещаемся к полюсам, тем сильнее наша картинка "сплющивается" по вертикали. У вас 60-я широта, а это означает примерно 2-кратное сплющивание.
Даю фрагмент кода, чтобы поправить с учетом пропорций:
RAD2DEG = 180 / Math.PI;
PI_4 = Math.PI / 4;
/* The following functions take or return their results in degrees */
function y2lat(y) { return (Math.atan(Math.exp(y / RAD2DEG)) / PI_4 - 1) * 90; }
function x2lon(x) { return x; }
function lat2y(lat) { return Math.log(Math.tan((lat / 90 + 1) * PI_4 )) * RAD2DEG; }
function lon2y(lon) { return lon; }
Источник
Хотите пропорциональности - преобразуйте координаты при помощи
lat2y и
lon2x и считайте на основе того, что получилось при преобразовании.