Клуб API Карт

Как изменить дизайн значков?

Пост в архиве.

Подскажите пожалуйста,

как:

1. изменить внешний вид значков со старых на новые, но при сохранении их персонального цвета?

2. можно ли использовать стандартные значки разных видов на одной карте, и как это сделать?

(Прим.) - карта создана с помощью сервиса "Мои карты".

14 комментариев

Есть статья про импорт YMapsML из моих карт

там в примере иконки плейсмарков сделаны в стиле 'twirl#trainIcon'

спасибо. Именно этим примером я и воспользовался, но у меня все иконки поменялись на те паровозы. Я поэкспериментировал меняя на другие варианты, но он меняет ВСЕ на один цвет или вид.

Я удалил часть кода и на иконках появился цвет установленный в "Моих картах", но исчез новый дизайн. Подскажите пожалуйста, как сделать новый дизайн и сохранить цвет?

так же,

только проставить preset не в опции всей коллекции,

а каждой метки в зависимости от ее цвета (можно получить из метаданных конкретной метки)

 

res.geoObjects.get(0).properties.get('metaDataProperty')Object
  1. AnyMetaData: Object
    1. color: "black"
    2. icon: "lb"
    3. number: "1"
    4. __proto__: Object
  2. __proto__: Object

 

но в таком случае, все метки (эти и новые) придется прописывать в ручную - каждую, и  пользоваться сервисом "Мои карты" не получится. Я правильно понял?

вроде бы нет.

нужно только прописать правила что на что заменить

нужно только прописать правила что на что заменить
правила будут работать только на те метки, что уже установлены, я так понимаю? А те, что будут созданы потом придется так же прописывать? Т.е. длина кода на странице будет увеличиваться при каждом добавлении

я имел ввиду - прописать корректные стили новых значков для меток (разного цвета)

можно на основании метаданных к каждой метке, в которые сервис "Мои карты" записывает какой цвет был выбран при создании в нем этого объекта

о!! Если это возможно, то мне не обойтись без помощи. Т.к. куда и что прописывать я сам не найду :)

Если имеете такие знания, подскажите пожалуйста.

 

Я тут уже прошелся по ссылке на "Ссылка на YMapsML-файл", думал, может там что-то поменять можно :)

примерно так:

получаете результат из geoXml в методе then,

итерируетесь по нему методом each и проставляете опции каждому геообъекту, добавляете все геообъекты на карту

 

 

получаете результат из geoXml в методе then,

итерируетесь по нему методом each и проставляете опции

ох, ё моё!!!

Сижу, смотрю, на всё это, и понимаю, что ничего не понимаю.:-( Без конкретного примера, в качестве образца, у меня не получится.

понял только, что прописывать нужно после:

map.geoObjects.add(res.geoObjects);

            });

а, что, и как...

 

да там вроде не rocket science

кинул пример на народ

 

Спасибо. Пример работает. Вот только значки все подскочили выше на сантиметр, и только при нажатии, открытое окно указывает на правильное место.

при создании новой метки, та же история.

Да, там надо подкорректировать через опции офсеты для иконки геообъекта.

пример обновил

Огромное спасибо, добрый человек!