0

I have route from my object to current user position.

ymaps.route([objectPosition, userPosition], {
    mapStateAutoApply: true
}).then(function(route) {
    route.getPaths().options.set({
        balloonContentBodyLayout: ymaps.templateLayoutFactory.createClass('$[properties.humanJamsTime]')
    });

    map.geoObjects.add(route);
});

I want to set placemarks on the route turns. (How) Can I do this with Yandex Maps API? Can I somehow calculate this points and manual set placemarks?

Thank you for advice.

Mariya Steksova
  • 850
  • 9
  • 14

1 Answers1

3

To get information about route turns use router.Segment: https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/router.Segment-docpage/

Example:

var path = route.getPaths().get(0);
path.getSegments().forEach(function(segment) {
    var segmentPoints = segment.getCoordinates(),
        segmentEndPoint = segmentPoints[segmentPoints.length -1];

    map.geoObjects.add(new ymaps.Placemark(segmentEndPoint));
});
Mariya Steksova
  • 850
  • 9
  • 14
  • A link to documentation would be nice (if it's available). – Sergio Tulentsev Apr 28 '15 at 13:25
  • getSegments() documentation: https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/router.Path-docpage/#getSegments, description in russian: https://tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/router-docpage/ – Mariya Steksova Apr 28 '15 at 14:11