Клуб API Карт

Пользовательские слои

ivan-zykov
20 мая 2015, 17:42

Добрый день. Пытаюсь разобратсья в новой версии API Яндекс.Карт 2.1.25. Но такое чувство, что документация устарела.

 

Добавляю на карту свой слой:

 

var MyLayer = function () {

    var layer = new ymaps.Layer('путь к тайлам', {

        projection: ymaps.projection.sphericalMercator,

      });

 

    // Копирайты

    layer.getCopyrights = function () {

        return ymaps.vow.resolve('Копирайты');

    };

    // Диапазон доступных масштабов

    layer.getZoomRange = function () {

        return ymaps.vow.resolve([7, 14]);

    };

 

    return layer;

};

 

ymaps.layer.storage.add('my_layers#topo', MyLayer);

ymaps.mapType.storage.add('my_map#topo', new ymaps.MapType(

             'Топо-карта',

             ['my_layers#topo']

));

 

Затем создаю свой элемент выбора карты:

var myMap = new ymaps.Map("map", {

            center: [58.598, 49.657],

            zoom: 12,

            autoCentering: true,

            autoZooming: true,

            controls: ["rulerControl", "typeSelector", "zoomControl", "fullscreenControl"],

}),

 

myMap.controls.add(new ymaps.control.TypeSelector(['my_map#topo', 'yandex#map', 'yandex#publicMap', 'yandex#satellite']));

 

Но в итоге селекторов карты два - один стандартный, один мой. Если в настрйоках карты из controls убрать "typeSelector", то оба селектора исчезают.

Как решить проблему?
2 комментария
Подписаться на комментарии к посту

 

Добрый день. Пытаюсь разобратсья в новой версии API Яндекс.Карт 2.1.25. Но такое чувство, что документация устарела.

Такое чувство что у вас синтаксическая ошибка, загляните в консоль.

Первая часть кода рабочая, за исключением "," после объявления myMap

Спасибо, поправил всё, теперь селектор карт один, как и положено.