Транзитные точки по умолчанию не добавляются на карту, соответственно, изначально у них цвета не может быть. Поэтому я трактую ваш вопрос как "Можно ли добавить на карту метки заданного цвета на места транзитных точек?".
Это можно сделать. Примерно вот так:
var router = new YMaps.Router([ 'Москва, Арбатская', 'Москва, метро Китай-Город', 'Москва, метро Третьяковская'], [1], {viewAutoApply: 1});
router.setStyle("default#redPoint");
YMaps.Events.observe(router, router.Events.Success, function() { // Перебираем маршруты for (var i = 0, l = router.getNumRoutes(), route; i < l; i++) { route = router.getRoute(i); // Перебираем все транзитные точки for (var j = 0, vl = route.getNumViaPoints(), viaPoint; j < vl; j++) { viaPoint = route.getViaPoint(j);
// На места транзитных точек добавляем метки map.addOverlay(new YMaps.Placemark(route.getPoint(viaPoint.getPolylineIndex()), { style : "default#greenSmallPoint" })); } }
map.addOverlay(router); });
Кратко объясную суть. Маршутизатор оперериует двумя видами точек: точки останова и транзитные.
Точки останова - это расширенные результаты геокодирования, соответственно, они ведут себя как метки.
Тразитные точки располагаются в маршруте. И ссылаются на индекс вершины ломаной маршрута. Соответственно после нахождения нужной вершины, на этом месте нужно создать метку.
Именно это я и делаю в описанном выше решении. Перебираю доступные маршруты, которые вернул маршрутизатор (их количество зависит от количества точек останова), затем в каждом маршруте перебираю транзитные точки и создаю на их месте маленькие зеленые меточки :)
Постараюсь описать подробнее свою проблему. Код у меня формируется по результатам обработки некоторых данных в 1С, в частности для каждой транзитной точки индивидуально составляется строка для ее подписи. Вот кусочек полученного кода:
router.getWayPoint(0).setIconContent('Красный Путь, 4'); point = router.getWayPoint(1).setIconContent(' Бульвар Архитекторов, дом № 7'); point = router.getWayPoint(2).setIconContent(' Ленина ул, дом № 11, кп. 2, кв. 1');
Может есть какойто способ "раскрасить" объект Ymaps.WayPoint? В js я новичок :(