Клуб API Карт

Построение кратчайшего маршрута между двумя точками на картографируемой поверхности

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

Добрый день, Коллеги!

 

Помогите решить проблему с отображением маршрутов на карте. Есть два пункта и необходимо соединить их линией по дуге. Я пытался воспользоваться методом solveInverseProblem(startPoint,endPoint[, reverseDirection]), но к сожелению никак не получается, не могу понять что нехватает в нижеуказанном коде. Буде очень признателен подсказку или помощь

 

 

<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>

<script type="text/javascript">

ymaps.ready(init);

 

function init() {

    var myMap = new ymaps.Map('map', {

        center: [55.753994, 37.622093],

        zoom: 9

    });

 

    // Построим кратчайший маршрут от Калининграда до Владивостока

    // Найдём координаты Калининграда

ymaps.geocode('Калининград').then(function (res) {

        var startPoint = res.geoObjects.get(0).geometry.getCoordinates();

    

    // Найдём координаты Владивостока

       ymaps.geocode('Владивосток').then(function (res) {

       var endPoint = res.geoObjects.get(0).geometry.getCoordinates(),

    

    // Найдём функцию пути между двумя точками

       path = ymaps.coordSystem.geo.solveInverseProblem(startPoint, endPoint).pathFunction;

    

    // Изобразим путь 20-ю точками

       for (var i = 0; i <= 20; i++) {

    

    // Находим промежуточную точку

       var position = path(i/20).point;

    // Добавим в промежуточную точку метку

       map.geoObjects.add(new ymaps.Placemark(

       position, {

    // Покажем в контенте метки пройденное расстояние

       iconContent: ymaps.formatter.distance(ymaps.coordSystem.geo.getDistance(startPoint, position))

                }, 

{

                    preset: 'islands#redStretchyIcon'

                }

            ));

        }

    });

});

}

</script>

 

<div id="map" style="width: 600px; height: 400px"></div>