Всем кто заглянул спасибо и привет.
Нужна свежая голова, т.к. моя уже от этой жары кипит.
Проблема вот в чем. Данные с консольки:
Цикл № 0:
Координаты на выходе 43.922311 ,56.300127
Цикл № 1:
Координаты на выходе 0
Координаты внутри функции 59.43996,32.025632
Т.е. получается, что цикл продолжает свое выполнение не дожидаясь выполнения function (res), и, соответсвенно, переменная coordinates равна 0.
Или я не правильно все понял. Не пойму в чем дело. Посоветуйте что-нибудь.
$.ajax({
url:'clientsBase.csv',
async: false,
contentType: "application/json; charset=utf-8",
success: function(data){
var rows = data.split("\n");
var src_res='';
for ( var i in rows ) {
var colls=rows[i].split(";");//или другой символ разделитель
console.log('Цикл № ' + i);
// Узнаем, содержаться ли координаты в clientsBase.csv
coordinates=0;
if (colls[6] == undefined) {
//Координат в файле нет, ищем координаты по городу, улице и дому
var myGeocoder = ymaps.geocode(colls[2] + ', ' + colls[3] + ' ' + colls[4]).then(
function (res) {
coordinates = res.geoObjects.get(0).geometry.getCoordinates();
console.log('Координаты внутри функции ' + coordinates);
},
function (err) {
alert('Ошибка');
}
)
} else {
//Координаты в файле имеются. Вставляем их из массива в переменную
coordinates = colls[5] + ',' + colls[6];
}
console.log('Координаты на выходе ' + coordinates);
// Устанавливаем координаты и содержимое балуна
myPlacemark = new ymaps.Placemark( [coordinates], {
// Свойства
// балуна
balloonContentHeader: '<div style="color:#ff0303;font-weight:bold">'+colls[1]+'</div>',
balloonContentBody: '<div style="font-size:12px;"><strong>Адрес:</strong> '+colls[2]+'<br /><strong>Телефон:</strong> '+colls[3]+'</div>'
},
{
// Опции
// балуна
preset: 'twirl#carIcon'
});
myCollection.add(myPlacemark);
$('#menu').append('<li>'+'<a href="#" onClick="return go_point('+colls[0]+");"+'\">'+colls[1]+'</a></li>');
}
myMap.geoObjects.add(myCollection);
myMap.setBounds(myCollection.getBounds());
}
});