Quantcast
Channel: Клуб API Карт
Viewing all articles
Browse latest Browse all 7380

Расчет длин маршрутов от одной точки до нескольких

$
0
0

На входе есть точка myPointRoot и массив точек myPoints
На выходе нужен массив myLenghts с расстояниями до них

route - асинхронная функция. В случае с одним, заранее известным маршрутом можно написать просто

 

 ymaps.route(coord).then(
    function (route) {
        var returnVal = route.getLength();
    // обрабатываем расстояние

    },
    function (error) {
        alert("Возникла ошибка: " + error.message);
    }
);

 
 Если точек несколько:

myRootPoint = [55.4,33.7];
myPoints = [
    [55.4, 33.0],
    [45.2, 53.7],
    [85.3, 23.7],
    [55.9, 73.7]
];

var promiseArray = [];

for(var i = 0; i<myPoints.length; i++) {
    var coor = [myRootPoint, myPoints[i]];
    promiseArray.push(ymaps.route(myCoor));  // добавляем рассчет маршрута в массив обещаний
}
/* И вот тут в конце нужна какая-то функция, которая сработает сразу после того, как все promise перейдут в состояние "onFulfilled" */

 

Если используются JQuery-defered.promise объекты, можно писать так

 

$.when.apply($, promiseArray).then(function(){
    //все элементы promiseArray перешли в состояние resolved!
});




Есть ли аналог для wow.promise?

.

Viewing all articles
Browse latest Browse all 7380

Trending Articles