Клуб API Карт

setMaxZoom для пользовательских карт

Пост в архиве.
victoruni
16 февраля 2011, 20:06

Создал карты некоторых городов (пользовательские) вразбил на тайлы до 17 уровня

при выборе нужного города и вариантов спутник-схема подставляю слой пользовательской карты данного города

Если подложка для пользовательской карты схема

максимальный масштаб выбирается 14

т.е. хотя для этого слоя есть разбивка на тайлы до 17 масштаба - не пускает дальше

YMaps.Layers.get("my#layer1");
map.setCenter(map.getCenter(), 13, myMapType1);
map.panTo(options1.mapCenter, {flying:1});
YMaps.setMaxZoom(17);
не приводит к возможности выбора масштаба более 14

Как обойти это препятствие,

При создании файла html при разбивке программой API Яндекс.тайлы получается все норма

http://www.maps.orskportal.ru/map.php

2 комментария
setMaxZoom у карты трактуется как не опускаться ниже 17 масштаба, а не как разрешать опускаться до 17

нужно слоям которые вы добавляете на карту указать до на каких масштабах они существуют:
например:
MyLayer3 = function () {
    var layer = new YMaps.Layer(myData3),
         layerBounds = new YMaps.GeoBounds(new YMaps.GeoPoint("координаты левого нижнего угла слоя"), new YMaps.GeoPoint("координаты правого верхнего угла слоя"));
    layer.getZoomRange = function (bounds) {
         return layerBounds.contains(bounds.getCenter()) ? {min: 0, max: 17} : {min: 0, max: 0};
    }
    return layer;

}

Иначе карты расчитывает максимальный масштаб на основе только остальных слоев, а они говорят что у них данные есть только до 14 масштаба.

если не получится пишите

Спасибо, заработало! :)