Вообещем скрывать то нечего. Вот ссылка на
сайте, где установлена своя карта на основе 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]); то появятся еще два масштаба там соответственно нет тайлов