Параметры карты

При показе карты (например, с помощью метода setCenter()) требуется задать параметры начального отображения карты:

Центр карты

Для указания местоположения объектов (в том числе и центра карты) на Яндекс.Картах применяются географические координаты, такие же как и на обычных "бумажных" картах.

Чтобы указать местоположение точки на карте, зная ее географические координаты, используйте объект класса YMaps.GeoPoint (геоточка). На вход объекта передайте географическую долготу и широту точки (longitude - долгота, latitude - широта).

Из-за особенностей географической системы координат геоточки могут быть двух типов: обычные и неограниченные, см. раздел Преобразование координат.

Например, чтобы создать геоточку в центре Москвы, используйте следующий код:

var point = new YMaps.GeoPoint(37.609218,55.753559); // Координаты центра Москвы

После того, как геоточка создана, изменить ее долготу и широту можно только с помощью специальных методов setLng() и setLat(), а получить значения координат - с помощью методов getLng() и getLat(), соответственно.

Примечание

С помощью метода fromString() геоточку можно создать из строкового представления ее координат, а с помощью метода toString() - преобразовать ее координаты в строку. Используйте эти методы в случаях, когда координаты точки получены из строки ввода или HTML-формы.

Над геоточками можно производить ряд действий, например, определять расстояние между ними, см. Справочник по программному интерфейсу.

Для задания центра карты используйте метод setCenter(), принимающий на вход в качестве параметра геоточку. Чтобы получить текущие координаты центра карты используйте метод getCenter():

var point = new YMaps.GeoPoint(37.609218,55.753559); // Координаты центра Москвы
map.setCenter(point);

С помощью метода panTo() можно плавно перемещать центр карты в заданную точку. Если расстояние между текущим центром и заданной точкой в три раза больше размера карты, то функция работает как setCenter(), либо имитирует полет из одной точки в другую (если параметр flying = true), см. Как использовать плавное перемещение центра карты.

Масштаб

Масштаб карты (точнее, коэффициент масштабирования) определяет текущее разрешение изображения карты. Коэффициент принимает значения от 1 (на карте отображены все континенты) до 17 (видны отдельные здания).

Примечание

Список городов, для которых доступны подробные карты (с точностью до домов) размещен на странице Яндекс.Карт maps.yandex.ru?index.

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

Пользователи карты имеют возможность изменить масштаб несколькими способами:

Тип карты

API Яндекс.Карт поддерживает показ трех встроенных типов карт:

  • MAP - тип карты "Схема". Схематичное отображение объектов местности. Используется по умолчанию;
  • SATELLITE - тип карты "Спутник". Спутниковая карта местности;
  • HYBRID - тип карты "Гибрид". Спутниковая карта местности с названиями географических объектов.

Тип карты можно указать при инициализации с помощью метода setCenter() или же воспользоваться методом setType():

map.setType(YMaps.MapType.SATELLITE);

Для получения текущего типа карты используйте метод getType().

Помимо стандартных типов API Яндекс.Карт позволяет создавать пользовательские типы карт, см. Создание пользовательского типа карты.