Клуб API Карт

Найдено на тему «стили»:
Как при наведении выделить многоугольник (Область) другим цветом?
Ridik123
21 июля 2016, 17:36

Здравствуйте. Подскажите пожалуйста ка выделить другим цветам область (заливку многоугольника) другим цветом. При наведении. Как здесь. http://prntscr.com/bvpnwz 

1 комментарий
многоугольники,стили
Икона, Балун, ...
Удалённый пользователь
1 июля 2015, 16:50

доброго времини суток!

не могу найти коды иконак баллуна и т.д. (метки)

есть ли более широкий ассортимент меток то есть икон!

и могу ли я свои иконы встовлять в песочнецу?! как это все можно реализовать?!

 

с уважением AlmatyCams In.

 

1 комментарий
метка,API 2.1,стили
Изменение цвета заливки полигона после загрузки XML-файла
Алексей
18 июня 2015, 14:22

Добрый день!

Подскажите, пожалуйста! Загружаю на карту регионы из сервиса Мои карты:

var myMap = new ymaps.Map('map', {
   center: [55, 38],
   zoom: 6
});

ymaps.geoXml.load('https://maps.yandex.ru/export/usermaps/BqJ7NKbXxHTgqKAK_-1DsskXW-TakMFR/ ').then(function (res) {
     res.geoObjects.options.set('fillColor', 'ff000099');
     myMap.geoObjects.add(res.geoObjects);
});

 

Как видно из кода, пытаюсь заменить цвет заливки полигона, но ничего не получается. Что я делаю не так?

3 комментария
регион,API 2.1,стили,полигон,YMapsML
как раскрасить пути автомобильного маршрута?
. vavi
14 июня 2015, 23:22

маршрут состоит из путей, пути соединяют точки маршрута.

сам маршрут формируется         

multiRouter.MultiRoute

как покрасить разные пути в разные цвета?

5 комментариев
маршрутизация,API 2.1,стили
Цвет маршрута
artyom4525460
27 мая 2015, 00:44

Здравствуйте, скажите, пожалуйста, можно ли изменить цвет маршрута, созданный с помощью ymaps.route().  К примеру, сделать его не фиолетовым, а красным. Если да, то как?

3 комментария
маршрутизация,API 2.1,стили
Не могу изменить стиль Placemark
Aleksey Korsakov
26 мая 2015, 19:26

Прочел документацию по меткам, там сказано что можно изменить стиль метки через опцию "preset", довольно долго мучился, но тщетно. 

Для создания метки я использую GeoObject, метки расставлются, но всегда синие, какой бы preset я не попробовал.

myGeoObject = new ymaps.GeoObject({
    geometry: {
        type: "Point",// тип геометрии - точка
coordinates: [gps_x, gps_y] // координаты точки
},
    properties: {
        hintContent: "...",
        balloonContentHeader: [gps_x, gps_y],
        balloonContentBody: "..."+name
}
});
myGeoObject.options.set("preset","twirl#redIcon");
myMap.geoObjects.add(myGeoObject);

 

Пробовал расставлять метки используя класс Placemark, чтобы сразу в объявлении указывать стиль метки, вот так:

 

var optionManager = new ymaps.option.Manager({preset: 'twirl#redIcon' });
myPlacemark = new ymaps.Placemark([gps_x, gps_y],{
    balloonContentHeader: [gps_x, gps_y],
    balloonContentBody: "...+name},
    {
        preset: "twirl#blueDotIcon"
});
//myPlacemark.options.set({preset: 'twirl#redIcon'});
myMap.geoObjects.add(myPlacemark);

Быть может кто сталкивался с подобной проблемой или просто знает решение?
3 комментария
метка,API 2.1,API 2.0,стили
Иконки для интерактивной карты
khomchanovsky
26 мая 2015, 12:30

Здравствуйте!Подскажите пожалуйста где можно найти иконки для обозначения географических обьектов (вместо меток)?Имеется ввиду: горы,водопады, турбазы и прочее. И когда я их скачаю, как их добавить на карту вместо метки?

Уверен, что об этом где-то написано в руководстве, но я к сожалению нашел только как поменять цвет меток. Извинте за невнимательность, если что...

А!И ещё вопрос, есть ли возможность поставить обозначение этих иконок рядом с объектами из списка, например, для этого примера из песочницы https://tech.yandex.ru/maps/jsbox/2.1/object_list. Чтоб смотрелось как реальные условные обозначения на карте?

2 комментария
метка,API 2.1,стили
не происходит смена иконки метки (preset)
Михаил Петренко
18 февраля 2015, 12:03

перечитал все похожее тут и не могу успешно применить ни одного решения (

preset просто отказывается менять иконку (

помогите плз

код для просмотра

3 комментария
метка,API 2.1,стили
Добавление объекта в presetStorage
D.Abramov8
2 февраля 2015, 22:51

Добрый вечер!

Какой уровень иерархии использовать, чтобы добавить новый объект в хранилище пресетов? Следующая конструкция не подходит...
ymaps.geoObjects.option.presetStorage.add('ingraf#skidown', '/sites/all/themes/mountains/images/icons/skidown.png');

С уважением,
Дмитрий А.

4 комментария
API 2.1,стили
Приплюснутость значка кластера и некорректность getBounds() кластера
diagent
17 октября 2014, 14:30

Видео: http://screencast.com/t/t6Qa1sKkyy

 

1. В FF, Opera, IE значки кластера приплюснуты, хотя SVG изначально круг, вписанный в квадрат (первый эпизод). В Google Chrome все хорошо (второй эпизод).

Что может приплюснуть?

 

        if(!window.customItemContentLayout){
                // Создаем собственный макет с информацией о выбранном геообъекте.
                window.customItemContentLayout = ymaps.templateLayoutFactory.createClass(
                // Флаг "raw" означает, что данные вставляют "как есть" без экранирования html.
                        '<h2 class=ballon_header>{{ properties.balloonContentHeader|raw }}</h2>' +
                        '<div class=ballon_body>{{ properties.balloonContentBody|raw }}</div>' +
                        '<div class=ballon_footer>{{ properties.balloonContentFooter|raw }}</div>'
                );
        }

 

        if(!window.clusterer){
                window.clusterer = new ymaps.Clusterer({
                        clusterIcons: [{
                                href: '/images/ico_group_marker.svg',
                                size: [40, 40],
                                offset: [-20, -20],
                                shape: new ymaps.shape.Circle(new ymaps.geometry.pixel.Circle([0, 0], 20))
                        }],
                        clusterDisableClickZoom: true,
                        clusterOpenBalloonOnClick: true,
                        // Устанавливаем стандартный макет балуна кластера "Карусель".
                        clusterBalloonContentLayout: 'cluster#balloonCarousel',
                        // Устанавливаем собственный макет.
                        clusterBalloonItemContentLayout: window.customItemContentLayout,
                        // Устанавливаем режим открытия балуна.
                        // В данном примере балун никогда не будет открываться в режиме панели.
                        clusterBalloonPanelMaxMapArea: 0,
                        // Устанавливаем размеры макета контента балуна (в пикселях).
        //              clusterBalloonContentLayoutWidth: 200,
        //              clusterBalloonContentLayoutHeight: 130,
                        // Устанавливаем максимальное количество элементов в нижней панели на одной странице
                        clusterBalloonPagerSize: 5
                        // Настройка внешего вида нижней панели.
                        // Режим marker рекомендуется использовать с небольшим количеством элементов.
                        // clusterBalloonPagerType: 'marker',
                        // Можно отключить зацикливание списка при навигации при помощи боковых стрелок.
                        // clusterBalloonCycling: false,
                        // Можно отключить отображение меню навигации.
                        // clusterBalloonPagerVisible: false
                });
        }

 

 

2. Либо не разобрался, либо не корректно работает getBounds() (эпизод при клике на пункт меню слева)

 

 

        var items_count = 0;
        window.clusterer.removeAll();
        window.placemarks = [];
        for ( i in addresses_json) {
                placemark = createMarker(addresses_json[i]);
                window.placemarks.push(placemark);
                items_count++;
        }

        window.clusterer.add(window.placemarks);
        map.geoObjects.add(clusterer);

        if(items_count > 0){
                if(items_count > 1)
                        map.setBounds(window.clusterer.getBounds(), {duration:300});
                else
                        map.setCenter(placemark.geometry.getCoordinates(),15,{duration:300});
                // map.update();
                $('.address_link').live('click', function(){
                        window.location = '/materials/'+$(this).attr('material_id')+'/';
                });
        }
        else{
                map.setCenter([0,0], 1, {duration:300});
        }

 

  

По теории при клике на музыку должен был и с Северной Америкой смаштабировать, т.е. метки и в США есть, и clusterer.getBounds() должен был захватить и метки в США, а дал только укрупненно Европу.

5 комментариев
метка,кластеризатор,область видимости,API 2.1,стили
Карта для крупной сети магазина
Павел Мариев
16 октября 2014, 21:56

Добрый вечер.

Сначала опишу поставленную цель, затем уже сам вопрос, пожалуйста прочтите

Стоти цель создание карты России с обозначением всех точек продаж одного крупного производителя.

В среднем в каждом городе по 1-2 точки, в Москве сеть гораздно обширней. около 20-30 точек.

Балуны имеет в оформлении адрес, название и ссылку в подвале на страницу соответствующей точки на нашем сайте

По возможности реализация с собственным оформлением точек.

Теперь уже 2 вопроса:

1. технология хранения набора этих самых точек

а. json или xml файл с кластеризацией

b. Object Manager

c. хранение в скрипте, пример тут: view-source:http://tula.spravochnikov.ru/groups/pilomaterialy строка 124 и далее)

2. Точки на картах могу брать только из коллекции http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/option.presetStorage.xml#methods-summary или все таки возможно задание своего изображения?

 

Очень прошу отзыва от людей, уже бравшихся за такое, какая технология показала себя лучше, дальше уже буду углубляться именно в неё. 

Заранее спасибо.

P.S. Возможно есть что-то лучше, с удовольствием рассмотрю любой вариант, главное чтобы это работало. 

 

5 комментариев
метка,API 2.1,geoXml,JSON,стили
Обводка и заливка линии отдельно
Noita
4 октября 2014, 16:43

Можно ли средствами ЯК.API сделать Polyline так же, как это можно увидеть на Яндекс.Картах и НЯК, когда у линии есть толщина и цвет, а в дополнение к этому тонкая обводка другого цвета?

 

Очень аккуратно выглядит, хочется такого же.

5 комментариев
API 2.1,ломаная,стили
Быстрая смена предустановленных параметров отображения коллекции объектов
Noita
1 октября 2014, 10:48

Я делаю карту со множеством объектов, объединённых в коллекции. Скажем, коллекция прудов, коллекция лесов, коллекция троп. В зависимости от масштаба карты мне нужно менять параметры отображения, например, не показывать тропы или заменить у лесов фон с заливки цветом на тайл.

Есть ли у коллекций механизм комплексного хранения параметров отображения? Этакий "вью".

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

3 комментария
API 2.1,коллекции,стили
Контролы и пресеты
Удалённый пользователь
8 сентября 2014, 19:41

Может не увидел

1) нет красивых меток типа московское метро.

2) добавляю свой контрол (new ymaps.control.Button) в виде картинки, почемуто получается на кнопке (((

     var addPlacemarkButton = new ymaps.control.Button({
        data: { content: '<img title="" src="log.png" class="img-rounded">' },
        options: { maxWidth: 50, float: 'left', selectOnClick: false }});
    myMap.controls.add(addPlacemarkButton);

 в версии 2.0 небыло проблемы

Скорее всего я не увидел. ткните носом пжл.

12 комментариев
кнопка,элементы управления,API 2.1,контролы,стили
Изменение стиля метки по клику
s.dilyaverov
3 сентября 2014, 13:19

Есть список элементов по которому формируются метки на карте, метки могут быть разного вида(метка со стилем из стандартного набора option.presetStorage, метка с кастомным цветом, метка с изображением(спрайт), тянущаяся метка с текстом). Сделал изменение стиля каждого вида метки при наведении на нее. Как задать метке другой стиль при клике на нее(стиль "активной" метки(без наведений)),  так чтобы стиль других меток возвращался в свое первичное состояние(с наведениями)?

 

  var list = $('#farmacy-list'),

        elem = list.find('.elem'),

        collection = new ymaps.GeoObjectCollection();

 

    elem.each(function() {

        var _t = $(this),

            type = _t.data('placemark'),

            name = _t.data('name'),

            coords = _t.data('coords');

 

        switch (type) {

            case 'pin':

                var placemark = new ymaps.Placemark(coords, {}, {

                    preset: 'islands#darkGreenIcon'

                });

                placemark.events

                    .add('mouseenter', function(e) {

                        e.get('target').options.set({

                            preset: 'islands#greenIcon'

                        });

                    })

                    .add('mouseleave', function(e) {

                        e.get('target').options.set({

                            preset: 'islands#darkGreenIcon'

                        });

                    });

                break;

            case 'promo':

                var placemark = new ymaps.Placemark(coords, {}, {

                    preset: 'islands#icon',

                    iconColor: '#eb9b17'

                });

                placemark.events

                    .add('mouseenter', function(e) {

                        e.get('target').options.set({

                            iconColor: '#ffa91a'

                        });

                    })

                    .add('mouseleave', function(e) {

                        e.get('target').options.set({

                            iconColor: '#eb9b17'

                        });

                    });

                break;

            case 'mini':

                var placemark = new ymaps.Placemark(coords, {}, {

                    iconLayout: 'default#image',

                    iconImageClipRect: [[0,0], [21,21]],

                    iconImageHref: 'img/pin_mini.png',

                    iconImageSize: [21, 21],

                    iconImageOffset: [-10, -10]

                });

                placemark.events

                    .add('mouseenter', function(e) {

                        e.get('target').options.set({

                            iconImageClipRect: [[0,21], [21,42]]

                        });

                    })

                    .add('mouseleave', function(e) {

                        e.get('target').options.set({

                            iconImageClipRect: [[0,0], [21,21]]

                        });

                    });

                break;

            case 'pin-text':

                var placemark = new ymaps.Placemark(coords, {

                    iconContent: name

                }, {

                    preset: 'islands#darkGreenStretchyIcon'

                });

                placemark.events

                    .add('mouseenter', function(e) {

                        e.get('target').options.set({

                            preset: 'islands#greenStretchyIcon'

                        });

                    })

                    .add('mouseleave', function(e) {

                        e.get('target').options.set({

                            preset: 'islands#darkGreenStretchyIcon'

                        });

                    });

                break;

        }

 

        collection.add(placemark);

 

    });

 

    map.geoObjects.add(collection);

    map.setBounds(map.geoObjects.getBounds());

 

2 комментария
метка,API 2.1,стили
Как в YMapsML создать свой стиль метки, чтобы балун разукрасить самому, а значок взять стандартный?
Katzo
7 августа 2014, 17:12

Нужно выводить пиктограммы отсюда: http://api.yandex.ru/maps/doc/jsapi/1.x/ref/reference/styles.xml

Например чтобы иконка была default#houseIcon

Пробую сделать это так:

 

<repr:Representation>
<repr:Style gml:id="poi">
<repr:parentStyle>default#houseIcon</repr:parentStyle>
<repr:balloonContentStyle>
<repr:template>#balloonTemplatePoi</repr:template>
</repr:balloonContentStyle>
</repr:Style>
<repr:Template gml:id="balloonTemplatePoi">
<repr:text>
<![CDATA[
<div style="font-size:12px;">
<div style="color:#ff9200;font-weight:bold;font-size:14px!important;">$[name]</div>
<div style="color:#009E9B;">$[description]</div>
<div>Адрес: $[metaDataProperty.AnyMetaData.address|не задан]</div>
<div>Телефон: $[metaDataProperty.AnyMetaData.phone|не задан]</div>
<div>Сайт: $[metaDataProperty.AnyMetaData.site|не задан]</div>
</div>
]]>
</repr:text>
</repr:Template>
</repr:Representation>

 

Но ничего не выходит. Метка остается стандартной по умолчанию, а не домик.

Если в шаблон добавить следующий код, то вообще метка пропадает:

 

<repr:iconStyle>
<repr:template>default#houseIcon</repr:template>
</repr:iconStyle>

 

1 комментарий
метка,стили,API 1.x,YMapsML
Выделение объектов
ktotud
23 июля 2014, 10:08

Пример:
Нарисована белая линия толщиной 11 px
По верх нее нарисована темно серая линия 7 px

Выглядит как дорога с белым контуром.

1. Как сделать что бы белая линия не всплывала над серой при наведении мышки на нее?
2. Есть ли стандартные средства для рисования контура у линии (делать площадной из линии не вариант - т.к. надо чтоб линия сохраняла свой размер на любом масштабе)

Огромное спасибо за ответ и подсказку!

1 комментарий
API 2.1,ломаная,стили
Добавить заметности полигону?
Владислав Турман
2 июля 2014, 11:59

Здравствуйте. Появился вопрос не по API.

У меня при нажатии кнопки добавляются полигоны на карту. Некоторые покрывают огромные участки, а некторые размером с город.

 

Есть идеи как добавить заметности очень маленькому полигону на карте? Я думал надпись сделать, но кроме как меткой с макетом иконки в виде текста такое никак не реализовать. Цвета и заливку менять не желательно. (фон прозрачный, обводка зеленая)

Скриншот полигона: https://yadi.sk/d/EVhG8rg3VjiJ4

API 2.1,полигон,стили
Есть ли возможность разукрасить карту яндекс в черно-белый белый цвет?
Александр П
27 июня 2014, 19:08

Смог сделать реализацию для chrome и firefox, но ie не поддается:(

$(map).ready(function(){ 

   if($.browser.chrome || $.browser.safari){$('#map').find('canvas').css('-webkit-filter', 'grayscale(100%)')}

 

   if($.browser.mozilla){

   var blackandwhite = $('#map').find('.ymaps-ground-pane').wrap('<div class="blackandwhite"></div>');

   blackandwhite.css('filter', 'url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale")');

   }        

   });

забыл добавить карта не статичная и для ie пробовал filter не помогает (filter: gray; filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1))

2 комментария
стили
Получение цвета линии
Б *
26 июня 2014, 02:30

На карте нарисованы ломаные линии, с помощью getClosestTo('30.000, 40.000') ближайший объект. Хочу узнать стиль самой ломаной, а точнее цвет? Подскажите как?

1 комментарий
API 2.1,ломаная,стили