Клуб API Карт

миграция с 1.0 на 1.1

yegor-l
3 августа 2009, 13:14

не могу заставить работать в новой версии этот код.
даже просто typeControl.add(new YMaps.ToolBarSeparator(30)); не работает.

    var typeControl=new YMaps.TypeControl();
    ...
    typeControl.add(new YMaps.ToolBarSeparator(30));
    var cssObj1={'width':'1000px','height':'600px'},cssObj2={'width':'700px','height':'500px'};
    var btn=new YMaps.ToolBarToggleButton({icon: "../icon/arrows.gif",caption:"",hint:"Изменение размера карты"});
    YMaps.Events.observe(btn,btn.Events.Click,function(){
        $(".minimiz").toggle();
        if($("#YMapsID").height()==500){
            $("#YMapsID").css(cssObj1);
        } else{
            $("#YMapsID").css(cssObj2);
        }
        map.redraw(false);
    },typeControl);
    typeControl.add(btn);
    ...

5 комментариев
Подписаться на комментарии к посту
Вы имели ввиду YMaps.ToolBar, наверное.
нет, именно YMaps.TypeControl
судя по-всему это была "недокументированная фича", а в 1.1 она исправлена.
весьма удобно было для размещёния собств. кнопки в правом верхнем углу с сохранением канонического размещения станд. кнопок.
вот здесь эта кнопка работает
http://www.eeyore.aroundspb.ru/
Создайте еще один тулбар, у которого удалите все стандартные кнопки и добавьте свою. Потом нужно будет немного изменить позиции управляющих элементов:
var toolBar = new YMaps.ToolBar();
toolBar.removeAll();

var btn = new YMaps.ToolBarToggleButton({
    icon: "http://www.eeyore.aroundspb.ru/icon/arrows.gif",
    caption:"",
    hint:"Изменение размера карты"
});
toolBar.add(btn);

map.addControl(new YMaps.TypeControl(), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT, new YMaps.Size(100, 5)));
map.addControl(toolBar, new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT, new YMaps.Size(5, 5)));

Это как вариант решения. Вы можете создавать свой собственный элемент управления, который будет состоять только из одной кнопки.

Найденные недокументированные возможности Вы используете на свой страх и риск. Лучше спрашивайте в нашем клубе - мы постараемся подсказать Вам более правильный способ решения.
var toolBar = new YMaps.ToolBar();
toolBar.removeAll();

можно смело заменять на:
var toolBar = new YMaps.ToolBar([]);

или поменя местами объявление тулбара и кнопки на:
var toolBar = new YMaps.ToolBar([btn]);

спасибо!