Добрый день. Есть задача вывести карту с фильтром, под зоной фильтра не выводяться маркеры, потому сам центер карты сдвинут.
Изначально задачу решил через сдвиг центра функцией
function setCenter(settings) {
if( settings.margin && (settings.margin[0] > 0 || settings.margin[3] > 0) ) {
var oldPixelCenter = settings.map.getGlobalPixelCenter();
settings.map.setGlobalPixelCenter([
oldPixelCenter[0] - (settings.margin[3] - settings.margin[1]) / 2,
oldPixelCenter[1] - settings.margin[0] / 2
]);
}
}
Но возникла проблема с зумированием. При зуме скролом или кликом на карту, зум производиться относительно основного центра карты.
В модуле route есть опция zoomMargin, позволяющая произвести размещени маршрута учитывая сдвиг карты. В недрях опций карты я не нашел подобного параметра, но в нем есть опция mapContainerMargin, но задав эту опцию особо ничего не изменилось
map.options.set('mapContainerMargin', [0,0,300,0])
Благодарен за помощь.