Показать сообщение отдельно
  #1 (permalink)  
Старый 29.05.2015, 17:36
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Функция не видит переменные
Добрый день, подскажите как правильно записать. Вот код:
var centroids = [
            {
                object: "A",
                point: [50.4404,30.5582]
            },
            {
                object: "B",
                point: [49.3905,27.0426]
            },
            {
                object: "C",
                point: [48.4931,32.2721]
            },
            {
                object: "D",
                point: [49.5623,34.5573]
            }
        ];

        var points = [
            {
                point: [50.2153,29.5036]
            },
            {
                point: [50.3561,32.1842]
            },
            {
                point: [48.5515,29.5915]
            },
            {
                point: [47.6686,32.4040]
            },
            {
                point: [48.6972,35.7438]
            },
            {
                point: [47.1016,35.2604]
            }
        ];
    var distance = 0;
    var i =0;
    var j = 0;
$('#map').click(function(e) {
        for(i;i<centroids.length;i++){
            for(j;j<points.length;j++){
                ymaps.route([centroids[i]['point'], points[j]['point']]).then(function (router) {

                        distance = Math.round(router.getLength() / 1000);
                    });
            }
        }
});


До функции ymaps.route([centroids[i]['point'], points[j]['point']]) внутри цикла точки и i,j выводит нормально, а вот внутри функции уже не видит их и получается, что на вход не подаются данные
Ответить с цитированием