Преобразование координат
На данной странице приведены примеры преобразования координат из одной системы в другую.
Как преобразовать координаты из одной системы в другую
Чтобы преобразовать координаты точки из одной системы координат в другую используйте класс 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());