Привет.
Пытаюсь вычислить расстояние маршрута на МКАД, пробегая циклом все сегменты и проверяя названия. Заметил, что считает через раз и решил проверить:
moveList = '';
ringway = 0;
route.getPaths().each(function (elem, j) {
moveList += '<br /><br />Path #' + j + '<br /><br />';
var segments = elem.getSegments();
for (var i = 0, len = segments.length; i < len; i++) {
if (segments[i].getStreet() == 'МКАД') {
ringway += segments[i].getLength();
}
moveList += segments[i].getStreet() + ' [' + segments[i].getLength() + ']<br />';
}
});
$('#list').html(moveList);
Path #0
[79.08]
[130.4]
1-я Тверская-Ямская улица [17.32]
1-я Тверская-Ямская улица [60.66]
Белорусский путепровод [215.02]
Ленинградский проспект [25.72]
Ленинградский проспект (дублер) [1247.21]
ТТК [5971.37]
Кутузовский проспект [5992.45]
2-й Минский путепровод [62.42]
Можайское шоссе [4180.62]
МКАД [9598.33]
Киевское шоссе [10298.54]
Центральная улица [138.05]
[532.98]
Центральная улица [944.67]
2-я Рейсовая улица [15.33]
2-я Рейсовая улица [280.14]
[620.65]
[647.66]
Path #1
[96.77]
[121.27]
[259.56]
1-я Рейсовая улица [289.35]
1-я Рейсовая улица [15.07]
Центральная улица [1936.32]
[134.02]
[207.86]
Внуковское шоссе [3734.05]
Минское шоссе [10434.64]
Можайское шоссе [380.36]
МКАД [21136.76]
Ленинградское шоссе [1197.59]
улица Маяковского [260.23]
улица Маяковского [372.11]
Пролетарская улица [420.81]
Московская улица [7.85]
Т.е. названия сегментов выводятся не у всех. Причем, если тот же самый маршрут провести ещё раз, то будет снова рандом, т.е. пустые названия будут у совершенно других сегментов.
С чем это связано, как с этим бороться и если никак, то есть ли другие способы подсчитать данный километраж?