Параметры карты
При показе карты (например, с помощью метода setCenter()) требуется задать параметры начального отображения карты:
- географические координаты центра карты;
Центр карты
Для указания местоположения объектов (в том числе и центра карты) на Яндекс.Картах применяются географические координаты, такие же как и на обычных "бумажных" картах.
Чтобы указать местоположение точки на карте, зная ее географические координаты, используйте объект класса YMaps.GeoPoint (геоточка). На вход объекта передайте географическую долготу и широту точки (longitude - долгота, latitude - широта).
Из-за особенностей географической системы координат геоточки могут быть двух типов: обычные и неограниченные, см. раздел Преобразование координат.
Например, чтобы создать геоточку в центре Москвы, используйте следующий код:
var point = new YMaps.GeoPoint(37.609218,55.753559); // Координаты центра Москвы
После того, как геоточка создана, изменить ее долготу и широту можно только с помощью специальных методов setLng() и setLat(), а получить значения координат - с помощью методов getLng() и getLat(), соответственно.
Над геоточками можно производить ряд действий, например, определять расстояние между ними, см. Справочник по программному интерфейсу.
Для задания центра карты используйте метод setCenter(), принимающий на вход в качестве параметра геоточку. Чтобы получить текущие координаты центра карты используйте метод getCenter():
var point = new YMaps.GeoPoint(37.609218,55.753559); // Координаты центра Москвы
map.setCenter(point);
С помощью метода panTo() можно плавно перемещать центр карты в заданную точку. Если расстояние между текущим центром и заданной точкой в три раза больше размера карты, то функция работает как setCenter(), либо имитирует полет из одной точки в другую (если параметр flying = true
), см. Как использовать плавное перемещение центра карты.
Масштаб
Масштаб карты (точнее, коэффициент масштабирования) определяет текущее разрешение изображения карты. Коэффициент принимает значения от 1 (на карте отображены все континенты) до 17 (видны отдельные здания).
Чтобы сменить коэффициент масштабирования, используйте метод карты setZoom(), а чтобы получить его текущее значение - метод getZoom().
Пользователи карты имеют возможность изменить масштаб несколькими способами:
- Кнопкой "Увеличить" на панели инструментов (элемент управления YMaps.ToolBar, см. Тулбар).
- По двойному щелчку кнопкой мыши (см. enableDblClickZoom() и disableDblClickZoom()).
- Колесиком мыши (см. enableScrollZoom() и disableScrollZoom().
- Горячими клавишами (см. enableHotKeys() и disableHotKeys().
- Выделением области на карте правой кнопкой мыши (см. enableRightButtonMagnifier() и disableRightButtonMagnifier().
Тип карты
API Яндекс.Карт поддерживает показ трех встроенных типов карт:
- MAP - тип карты "Схема". Схематичное отображение объектов местности. Используется по умолчанию;
- SATELLITE - тип карты "Спутник". Спутниковая карта местности;
- HYBRID - тип карты "Гибрид". Спутниковая карта местности с названиями географических объектов.
Тип карты можно указать при инициализации с помощью метода setCenter() или же воспользоваться методом setType():
map.setType(YMaps.MapType.SATELLITE);
Для получения текущего типа карты используйте метод getType().
Помимо стандартных типов API Яндекс.Карт позволяет создавать пользовательские типы карт, см. Создание пользовательского типа карты.