Клуб API Карт

Селектор со своими типами карт

allians-sk
2 апреля 2015, 05:03

Вот есть код, который поему то не как не хоет работь. Можете посмотреть и сказать то там не так??

 

var map, 

    layerName = "user#layer";

    layerName2 = "user#layer2";

ymaps.ready(onReady);

 

function onReady () {

    setupLayer();

    setupMap();

setupLayer2();

 

}

 

function setupLayer () {

    var Layer = function () {

        var layer = new ymaps.Layer("./%z/%x-%y.jpeg", {

            //tileTransparent: true,

            notFoundTile: "./3/2-2.jpeg"

        });

        layer.getZoomRange = function () {

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

        };

        layer.getCopyrights = function () {

            return ymaps.vow.resolve('dsssdf');

        };

        return layer;

    };

    

ymaps.layer.storage.add(layerName, Layer);

var mapType = new ymaps.MapType(layerName, [layerName]);

ymaps.mapType.storage.add(layerName, mapType);

}

function setupLayer2 () {

    var Layer = function () {

        var layer = new ymaps.Layer("n1/%z/%x-%y.png", {

            //tileTransparent: true,

            notFoundTile: "./3/2-2.jpeg"

        });

        layer.getZoomRange = function () {

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

        };

        layer.getCopyrights = function () {

            return ymaps.vow.resolve('dsssdf');

        };

        return layer;

    };

   

ymaps.layer.storage.add(layerName2, Layer);

var mapType = new ymaps.MapType(layerName2, [layerName2]);

ymaps.mapType.storage.add(layerName2, mapType);

}

 

function setupMap () {

    map = new ymaps.Map('map', {

        center: [0, 0],

        zoom: 3,

        controls: ['zoomControl'],

        type: layerName

    }, {

        projection: new ymaps.projection.Cartesian([[-1, -1], [1, 1]], [false, false])

    },{

        balloonMaxWidth: 300

    }

        );

 

        map.events.add('click', function (e) {

        if (!map.balloon.isOpen()) {

            var coords = e.get('coords');

            map.balloon.open(coords, {

                contentHeader:'Событие!',

                contentBody:'<p>Кто-то щелкнул по карте.</p>' +

                    '<p>Координаты щелчка: ' + [

                    coords[0].toPrecision(6),

                    coords[1].toPrecision(6)

                    ].join(', ') + '</p>',

                contentFooter:'<sup>Щелкните еще раз</sup>'

            });

        }

        else {

            map.balloon.close();

        }

 

 

    }); 

 

    // Обработка события, возникающего при щелчке

    // правой кнопки мыши в любой точке карты.

    // При возникновении такого события покажем всплывающую подсказку

    // в точке щелчка.

    map.events.add('contextmenu', function (e) {

        map.hint.show(e.get('coord'), 'Кто-то щелкнул правой кнопкой');

    });

 map.controls.add(new ymaps.control.TypeSelector(['user#layer','user#layer2'])); - вот это не работает. почему??