Шир. / Долг. - геодезическая система координат (WGS84), которая означает, что это искривленные координаты, идущие вокруг Земли - изображение плоское, что означает, что вы обычно не можете легко перемещаться между ними. Однако может случиться так, что изображение вашего дома будет настолько маленьким, что ошибка вычисления будет достаточно мала, чтобы быть незначительной (в зависимости от того, для чего она вам нужна).
Чтобы сделать то, что вы хотите, вам нужно найти значение «градусов на пиксель», которое означает, что вам нужно знать широту / долготу как для верхней, так и для нижней правой части вашего изображения. Если у вас есть это просто. Предполагается, что вы находитесь в северном полушарии :
var degreesPerPixelX = bottomX - topX / imageWidth;
var degreesPerPixelY = bottomY - topY / imageHeight;
И обработчик событий ( getEventOffsetFromImageXXX не показаны).
function onClick (evt) {
var x = getEventOffsetFromImageLeft(evt);
var y = getEventOffsetFromImageTop(evt);
var clickedLon = topX + x * degreesPerPixelX;
var clickedLat = bottomY + y * degreesPerPixelY;
}
Уровень масштабирования будет влиять на верхний / левый нижний / правый lon / lat, поэтому вычисления должны корректироваться соответствующим образом.
Когда Карты Google вычисляют x / y в lon / lat, они внутренне ВСЕГДА сначала преобразовывают lon / lat в систему координат Spherical Mercator (EPSG: 900913), выполняют операции в этой системе, а затем выполняют обратное преобразование. Однако Spherical Mercator имеет фиксированные уровни масштабирования, что, вероятно, вам не подходит. Тем не менее, это очень стоящее чтение.
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
N.b. градусовПиксель в Google Talk называется разрешение , а единица измерения составляет метров на пиксель . Метр - это единица измерения в Сферическом Меркаторе, которая примерно равна метру на экваторе, но далеко от метра по мере продвижения на север / юг.