Задать вопрос

Почему устанавливается максимальный зум?

Вообещем скрывать то нечего. Вот ссылка на сайте, где установлена своя карта на основе api яндекс карт.
При загрузке карты устанавливается максимальный зум (zoom 3) , хотя мне надо бы начинать с нуля.

Я нарезал JPEG размером 2048 на 2048 px равными тайлами 256px

и вот код.

<script>
ymaps.ready(function () {

    var LAYER_NAME = 'user#layer',
        MAP_TYPE_NAME = 'user#customMap',
        MAX_ZOOM = 3,
		PIC_WIDTH = 2048,
		PIC_HEIGHT = 2048;

    var Layer = function () {
        var layer = new ymaps.Layer('/scheme/img/%z/tile-%x-%y.jpg', {
			//notFoundTile: '/scheme/white.png'
        });
        layer.getZoomRange = function () {
            return ymaps.vow.resolve([0, 3]);
        };
        layer.getCopyrights = function () {
            return ymaps.vow.resolve('©');
        };
        return layer;
    };
    ymaps.layer.storage.add(LAYER_NAME, Layer);

    var mapType = new ymaps.MapType(MAP_TYPE_NAME, [LAYER_NAME]);
    ymaps.mapType.storage.add(MAP_TYPE_NAME, mapType);

    var worldSize = Math.pow(2, MAX_ZOOM) * 256,
	map = new ymaps.Map('map', {
		center: [0, 0],
		zoom: 1,
		controls: ['zoomControl'],
		type: MAP_TYPE_NAME
	}, 
		{
			projection: new ymaps.projection.Cartesian([[PIC_HEIGHT / 2 - worldSize, -PIC_WIDTH / 2], [PIC_HEIGHT / 2, worldSize - PIC_WIDTH / 2]], [false, false]),
			restrictMapArea: [[-PIC_HEIGHT / 2, -PIC_WIDTH / 2], [PIC_HEIGHT / 2, PIC_WIDTH / 2]]

		});
});


    </script>

если закоментить строку restrictMapArea: [[-PIC_HEIGHT / 2, -PIC_WIDTH / 2], [PIC_HEIGHT / 2, PIC_WIDTH / 2]] , то вроде ок, но мне надо ограничить обалсть, которую пользователь может просматривать.

Почему он сразу же хочет взять зум 3? мне надо с 0 до 3 . У меня так и названы папки. Если кстати установлю return ymaps.vow.resolve([0, 5]); то появятся еще два масштаба там соответственно нет тайлов
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы