У меня есть следующий геокодирования асинхронного метод, приведенный ниже, она работает, как ожидается, принимая в адрес из массива пользовательских объектов у меня есть, моя проблема заключается в отображении результата обратно в объект [я], что выпустило этот метод, увидеть результаты дают мне только назад форматированный адрес, который отличается от я занесен, «Google добавляет некоторые коды зон, изменения St на улицу и т.д.» поэтому, когда я получаю эти результаты обратно у меня нет никакого способа, чтобы соответствовать новому Lat и ДЛНЫ координаты я получил к каждому объекту из-за асинхронную природу этого метода и результатов не возвращается в порядке, Любая идея, что я мог сделать здесь?
Благодарю.
Edit: мои мысли были бы создать способ получить результаты обратно в порядке, изменить это Синхронный, не идеал я знаю, и я не могу найти ни одного примера.
Функция iterateAndAddress (objArray) {
for(var i=0; i< objArray.length; i++) {
var address = objArray[i].BillingStreet +' '+objArray[i].BillingCity+' '+objArray[i].BillingCountry;
var geocoder = new google.maps.Geocoder();
console.log('Address = '+address);
if(geocoder) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//console.log(results);
var lat = results[0].geometry.location.lat();
var lon = results[0].geometry.location.lng();
console.log('Address : '+results[0].formatted_address);
}else if(status == 'OVER_QUERY_LIMIT') {
}
else{
}
});
}
}
}













