Я хочу поставить маркеры на карте.Источником является запрос json, который возвращает города.
У меня есть функция (sencha), которая возвращает записи (асинхронные), и функция (google maps api), которая возвращает lng, lat для определенных городов.(асинхронный) и метод (Google Maps), который ставит маркеры на карте.
Результатом должен быть маркер на карте в месте, рассчитанном Google с заголовком, извлеченным из записи.
загрузка записей
offers = App.stores.offers.load({
callback: function(records, operation, success){...}
})
получить местоположение
geocoder = new google.maps.Geocoder();
geocoder.geocode(
{'address': adress},
function(results, status) {...}
}
и установите маркер
marker = new google.maps.Marker({
map: map,
position: loc,
title: text
});
Чего я не хочу делать, это загрузить запись, перебрать каждую запись, выяснить местоположение города и поставить там маркер.
синхронно Я бы сделал:
records = App.stores.offers.load();
for (var i=0; i < records.length; i++) {
setMarker( map, getLocation(records[i].data["city"]), cords[i].data["text"]);
}
Как правильно соединить его с асинхронными функциями?