control.SmallZoomControl
Расширяет IControl, ICustomizable.
Класс для создания элемента управления "Простой элемент управления масштабом карты". Позволяет уменьшать или увеличивать коэффициент масштабирования карты на 1.
Конструктор | Поля | События | Методы
Конструктор
control.SmallZoomControl([options])
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
options | — | Тип: Object Опции элемента управления. |
options.duration | 200 | Тип: Number Время анимации маштабирования карты, мс. |
options.layout | — | Тип: Function|String Макет элемента управления. В конструктор макета передается объект, содержащий поля: <ul> <li>control - ссылка на элемент управления;</li> <li>options - менеджер опций элемента управления control.SmallZoomControl.options;</li> <li>data - менеджер данных элемента управления control.SmallZoomControl.data;</li> <li>state - менеджер состояния элемента управления control.SmallZoomControl.state.</li> </ul> Макет меняет свой внешний вид на основе данных, состояния и опций элемента управления. Элемент управления, в свою очередь, реагирует на интерфейсные события макета и меняет значения полей control.SmallZoomControl.state в зависимости от полученных команд. (Тип: конструктор объекта с интерфейсом IZoomControlLayout или ключ макета). |
options.position | { top: 75, left: 5 } | Тип: Object Положение элемента управления над картой. Задается в виде объекта со следующими полями: <ul> <li>top - отступ от верхнего края контейнера карты в пикселах;</li> <li>right - отступ от правого края контейнера карты в пикселах;</li> <li>bottom - отступ от нижнего края контейнера карты в пикселах;</li> <li>left - отступ от левого края контейнера карты в пикселах.</li> </ul> Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Если элемент управления добавляется в группу элементов (например, в тулбар или раскрывающийся список), то значение position не применяется. |
options.visible | true | Тип: Boolean Признак того, что элемент управления отображается. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
options | — | Тип: Object Опции элемента управления. |
options.duration | 200 | Тип: Number Время анимации маштабирования карты, мс. |
options.layout | — | Тип: Function|String Макет элемента управления. В конструктор макета передается объект, содержащий поля: <ul> <li>control - ссылка на элемент управления;</li> <li>options - менеджер опций элемента управления control.SmallZoomControl.options;</li> <li>data - менеджер данных элемента управления control.SmallZoomControl.data;</li> <li>state - менеджер состояния элемента управления control.SmallZoomControl.state.</li> </ul> Макет меняет свой внешний вид на основе данных, состояния и опций элемента управления. Элемент управления, в свою очередь, реагирует на интерфейсные события макета и меняет значения полей control.SmallZoomControl.state в зависимости от полученных команд. (Тип: конструктор объекта с интерфейсом IZoomControlLayout или ключ макета). |
options.position | { top: 75, left: 5 } | Тип: Object Положение элемента управления над картой. Задается в виде объекта со следующими полями: <ul> <li>top - отступ от верхнего края контейнера карты в пикселах;</li> <li>right - отступ от правого края контейнера карты в пикселах;</li> <li>bottom - отступ от нижнего края контейнера карты в пикселах;</li> <li>left - отступ от левого края контейнера карты в пикселах.</li> </ul> Если при этом заданы одновременно и top, и bottom, то значение bottom игнорируется. Аналогично, если заданы одновременно и left, и right, то значение right игнорируется. Если элемент управления добавляется в группу элементов (например, в тулбар или раскрывающийся список), то значение position не применяется. |
options.visible | true | Тип: Boolean Признак того, что элемент управления отображается. |
Примеры:
1.
// Пример 1.
// Добавление стандартного элемента управления масштабом.
map.controls.add('smallZoomControl', { top: 70, right: 5 });
2.
// Пример 2.
// Создание пользовательского элемента управления масштабом.
// В примере используется jQuery, загруженный с http://yandex.st/jquery/1.6.4/jquery.min.js
var MyZoomLayout = ymaps.templateLayoutFactory.createClass("<div>" +
"<div id='zoom-in'>+</div>" +
"<div id='zoom-out'>-</div>" +
"</div>", {
build: function () {
// Сначала вызываем родительский метод.
MyZoomLayout.superclass.build.call(this);
// Запомним функции-обработчики, за которым закреплен контекст,
// чтобы впоследствии от них отписаться.
this.zoomInCallback = ymaps.util.bind(this.zoomIn, this);
this.zoomOutCallback = ymaps.util.bind(this.zoomOut, this);
$('#zoom-in').bind('click', this.zoomInCallback);
$('#zoom-out').bind('click', this.zoomOutCallback);
},
clear: function () {
// Снимаем слушателей.
$('#zoom-in').unbind('click', this.zoomInCallback);
$('#zoom-out').unbind('click', this.zoomOutCallback);
// А затем вызываем родительский метод.
MyZoomLayout.superclass.clear.call(this);
},
zoomIn: function () {
var map = this.getData().control.getMap();
// Посылаем событие, которое описано в интерфейсе IZoomControlLayout.
this.events.fire('zoomchange', {
oldZoom: map.getZoom(),
// При клике на '+' будет послана команда увеличить
// текущий коэффициент масштабирования на 1
newZoom: map.getZoom() + 1
});
},
zoomOut: function () {
var map = this.getData().control.getMap();
this.events.fire('zoomchange', {
oldZoom: map.getZoom(),
// При клике на '-' будет послана команда уменьшить
// текущий коэффициент масштабирования на 1
newZoom: map.getZoom() - 1
});
}
});
var customZoom = new ymaps.control.SmallZoomControl({layout: MyZoomLayout});
Поля
Имя | Тип | Описание |
---|---|---|
data | data.Manager | Данные элемента управления. |
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
state | data.Manager | Состояние элемента управления.
Имена полей, доступных через метод data.Manager.get:
|
Имя | Тип | Описание |
---|---|---|
data | data.Manager | Данные элемента управления. |
events | IEventManager | Менеджер событий. Унаследовано от IEventEmitter. |
options | IOptionManager | Менеджер опций. Унаследовано от ICustomizable. |
state | data.Manager | Состояние элемента управления.
Имена полей, доступных через метод data.Manager.get:
|
События
Имя | Описание |
---|---|
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IChildOnMap. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
zoomchange | Коэффициент масштабирования карты изменен.
Экземпляр класса Event.
|
Имя | Описание |
---|---|
mapchange | Сменилась карта.
Поля данных:
Унаследовано от IChildOnMap. |
optionschange | Изменение в опциях объекта. Унаследовано от ICustomizable. |
parentchange | Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
zoomchange | Коэффициент масштабирования карты изменен.
Экземпляр класса Event.
|
Методы
Имя | Возвращает | Описание |
---|---|---|
getParent() | Returns ссылку на родительский объект. Унаследован от IControl. | |
setParent(parent) | Устанавливает родительский объект. Унаследован от IControl. |
Описание полей
data
{data.Manager} data
Данные элемента управления.
state
{data.Manager} state
- zoom - текущий коэффициент масштабирования;
- zoomRange - текущий диапазон коэффициентов масштабирования.
Описание событий
zoomchange
- newZoom - новый коэффициент масштабирования карты;
- oldZoom - старый коэффициент масштабирования карты.