Как заставить карту максимально приближаться, как например в режиме народной карты, при добавлении жилого здания, карта сателит может приблизиться уже не на 18, а на 20 зум???
Можно попробовать переопределить методы у объекта Layer, отвечающего за карту.
1. Идем в хранилище типов карты и достаем нужный MapType.
var yandexType = mapType.storage.get('yandex#map');
2. Получаем список ключей для слоев
var layers = yandexType.getLayers(); // там должен быть 1 ключ
3. Достаем конструктор слоя из хранилища слоев по ключу
var LayerConstructor = layer.storage.get(layers[0]);
4. Создаем свой класс слоя, отнаследованный от полученного конструктора.
Переопределяем у него методы
getTileSize(zoom) - на зумах больше 18 начинаем отдавать [512, 512], [1024, 1024] и тд
getZoomRamge(point) - нужно увеличить диапазон до требуемого
getTileUrl(tileNumber, tileZoom) - нужно подшаманить, чтобы на фиктивных зумах шли запросы за тайлами для меньшего зума, на котором тайлы реально есть.
5. Далее нужно сформировать новый MapType с полученным слоем и добавить его на карту.
var MyLayerClass = function (params) { MyLayerClass.superclass.constructor.call(this, params); }; ymaps.util.augment(MyLayerConstructor, LayerConstructor, { getTileSize: function (zoom) { // если больше 18, отдавать тайлы в размере 512✕512 // можно и больше, если поправить return zoom > 18 ? [512, 512] : [256, 256]; } … });
и так далее, переопределяя методы, которые описала mari-na-bzzz. Где именно споткнулись?
У нас есть отдельный тип карты - гибрид. Если его нет для какого-то масштаба - это значит, что гибридного слоя с надписями для этого масштаба нет. Так что тут только народная карта подойдет.
Просто сделайте сверху еще один прозрачный слой и добавьте его точно так же на карту. Нужно задать ему правильный zIndex, чтобы он находился поверх подложки.