Клуб API Карт

проблема с леерами и оверлеями

ttmes
12 мая 2010, 16:43

Создал собственные тайлы из программы получил 

код:window.onload = function () {
            options = {
                    tileUrlTemplate: "./%z/tile-%x-%y.png",
                    controls: {
                        typeControl: false,
                        miniMap: false,
                        toolBar: false,
                        scaleLine: false
                    },
                    scrollZoomEnabled: true,
                    mapCenter: new YMaps.GeoPoint(43.1123984034204, 44.5579208244437),
                    mapZoom: 9,
                    isTransparent: true,
                    smoothZooming: false,
                    layerKey: "my#layer",
                    mapType: {
                        name: "северокавказ",
                        textColor: "#000000"
                    },
                    copyright: ""
                },
                
                map = new YMaps.Map(document.getElementById("YMapsID")),
                myData = new YMaps.TileDataSource(options.tileUrlTemplate, options.isTransparent, options.smoothZooming);

                map.setMaxZoom(9);
            myData.getTileUrl = function (tile, zoom) {
                return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
            }

            var MyLayer = function () {
                return new YMaps.Layer(myData);
            }
            YMaps.Layers.add(options.layerKey, MyLayer);
            
            
            var myLayer = new YMaps.Layer(options.layerKey, MyLayer);

            var mapLayers = options.backgroundMapType ? options.backgroundMapType.getLayers() : [],
                myMapType = new YMaps.MapType(YMaps.jQuery.merge(mapLayers, [ options.layerKey ]), options.mapType.name, { textColor: options.mapType.textColor });

            map.setCenter(options.mapCenter, options.mapZoom, myMapType);
            if (options.copyright) {
                map.addCopyright(options.copyright);
            }

            if (options.controls.typeControl) {
                map.addControl(new YMaps.TypeControl([ myMapType, YMaps.MapType.MAP, YMaps.MapType.SATELLITE, YMaps.MapType.HYBRID ], [1, 2, 3]));
            }
         
            if (options.controls.miniMap) {
                map.addControl(new YMaps.MiniMap());
            }
            if (options.controls.toolBar) {
                map.addControl(new YMaps.ToolBar());
            }
            if (options.controls.scaleLine) {
                map.addControl(new YMaps.ScaleLine());
            }
            if (options.scrollZoomEnabled) {
                map.enableScrollZoom();
            }
            map.addControl(new YMaps.Zoom());
           

        }

 как бы мне создать из этого всего два слоя один из которых будет MAP а второй будет сверху полупрозрачным оверлеем. возможно ли плавное изменение прозрачности слоя при нажатии на кнопку?

3 комментария
Подписаться на комментарии к посту
Вы хотите, чтобы в переключатели типов был стандартный тип карты "Схема" и второй - "Схема" с наложенным вашим слоем?
элемент управления, который позволял бы менять прозрачность (ну или включал/выключал) наложенный слой из тайлов на основную карту
возможна ли реализация заданного условия?
 Сделайте кнопку на панели инструментов, которая будет добавлять и удалять слой с карты.

Добавлять и удалять слой с карты нужно с помощью методов карты addLayer() и removeLayer() соответственно.