Клуб API Карт

Создание свое контроллера (API 2.0)

alexkng
15 мая 2012, 08:55

Здравствуйте!

Подскажите, пожалуйста, как создать свой контроллер при работе с API 2.0

Нужно на карту поместить произвольный HTML блок, сейчас делаю это просто добавляя див блок на карту в контейнере с классом ymaps-controls-lefttop ($(".ymaps-controls-lefttop").html('нужный HTML')), хотелось бы реализовать это через api.

В API 1.x делал это следующим образом:

var map = new YMaps.Map(jQuery("#maps")[0]

map.addControl(new cMenuObject()

function cMenuObject() {
    this.onAddToMap = function (map, position) {
        this.container = YMaps.jQuery('нужный HTML');
        this.map = map;
        this.position = position || new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT, new YMaps.Size(460, 5)

        this.container.css({
            position:"absolute",
            zIndex:YMaps.ZIndex.CONTROL,
            margin:0
        }

        this.position.apply(this.container);

        this.container.appendTo(this.map.getContainer()
    };

    this.onRemoveFromMap = function () {
        if (this.container.parent()) {
            this.container.remove(
            this.container = null;
        }
        this.map = null;
    };
}

 

1 комментарий
Подписаться на комментарии к посту

map.panes.get('controls').getElement() - даст вам html-элемент контейнера контролов. Можете добавлять/удалять туда свои DOM-элементы