расчет стоимости доставки через yandex api - routePanelControl как можно разместить не на карте, а под ней?
routePanelControl как можно разместить не на карте, а под ней? и можно ли вообще это сделать?
Ответы (1 шт):
Автор решения: YaCor'
→ Ссылка
Нужно добавить кастомный пейн с overflow: 'visible' на карту и поместить контрол маршрутизации в него, указав положение панели в минус от верхнего края карты. Можно и от нижнего, но высота её изменяется при указании точек маршрута, и она расползётся в сторону карты. В документации это описано не самым очевидным способом, но в целом реализация достаточно компактна.
//Добавление статичного пейна для кастомной панели управления
var staticPane = new ymaps.pane.StaticPane(myMap, {zIndex: 910, overflow: 'visible'});
myMap.panes.append("customPane", staticPane);
//Добавление менеджера контролов на кастомный пейн
var manager = new ymaps.control.Manager(myMap,[],{
pane: staticPane
});
//высота карты для смещения панели маршрутизации
var mapHight = myMap.container.getSize()[1]
//Добавление контролов на новую панель
manager.add('routePanelControl', {
maxWidth: 300,
position: {top: mapHight}
})
//Получение ссылки на новый контрол для программной работы после
var routePanel = manager.get('routePanelControl').routePanel;