私は次のジオコード非同期メソッドを持っています.私が入力したものとは異なるフォーマットされた住所、「Googleはいくつかの市外局番を追加し、Stを通りに変更するなど.」したがって、これらの結果が返されたときに、このメソッドの非同期性のために各オブジェクトに取得した新しい緯度と経度の座標を一致させる方法がなく、結果が順番に返されません。ここでできることはありますか?
ありがとう。
編集:私の考えでは、結果を元に戻す方法を作成し、これを同期に変更します。理想的ではなく、例が見つかりません。
関数 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{
}
});
}
}
}