Преобразование координат

На данной странице приведены примеры преобразования координат из одной системы в другую.

Как преобразовать координаты из одной системы в другую

Чтобы преобразовать координаты точки из одной системы координат в другую используйте класс YMaps.Converter. Пример использования:

map = new YMaps.Map(document.getElementById("YMapsID"));
map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
alert(map.converter.clientPixelsToCoordinates(new YMaps.Point(500, 600)));

На экран будет выведено сообщение с преобразованными координатами: [37.60116013981013,55.717259129032485]

Как преобразовать пиксельные координаты в тайловые

Класс YMaps.TileCoordinates позволяет получать из пиксельных координат точки тайловые и наоборот.

Чтобы определить тайловые координаты точки, зная ее пиксельные координаты и коэффициент масштабирования, используйте метод fromPixels().

Тайловые координаты возвращаются в виде объекта с двумя полями, задающими номер тайла (number) и смещение в пикселах внутри тайла (offset), соответственно.

В случае, если указанным пиксельным координатам соответствует тайл, лежащий вне области карты (несуществующий тайл), значение поля number будет равно null.

Примечание

Пиксельные координаты точки можно получить из географических с помощью метода fromCoordPoint() координатной системы.

// Преобразовывает географические координаты в пиксельные
var pixelsCoords = map.coordSystem.fromCoordPoint(map.getCenter()),
    // Получает из пиксельных координат индекс тайла и смещение относительно его верхней левой точки
    tile = map.tileCoordinates.fromPixels(pixelsCoords, map.getZoom());

alert("Центр карты находится в тайле № " + tile.number + " со смещением в " + tile.offset.toString());