テキストエリアにXML形式の出力を作成しようとしていますが、非同期の問題が発生しました。
$(document).ready(function() {
var geocoder;
geocoder = new google.maps.Geocoder();
$('#xmloutput').val('<?xml version="1.0" encoding="UTF-8"?>\n<parent>\n');
var addresslist = 'one\ntwo\nthree';
var addlines = addresslist.split('\n');
$.each(addlines, function(name, value) {
geocoder.geocode( { 'address': value}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
$('#xmloutput').val($('#xmloutput').val()+'<node>'+value+'</node>\n');
}
});
});
$('#xmloutput').val($('#xmloutput').val()+'</parent>');
});
この出力が欲しい:
<?xml version="1.0" encoding="UTF-8"?>
<parent>
<node>one</node>
<node>two</node>
<node>three</node>
</parent>
しかし、ジオコーディングには時間がかかるため、この出力が得られます...
<?xml version="1.0" encoding="UTF-8"?>
<parent>
</parent><node>one</node>
<node>two</node>
<node>three</node>
私は多くの同様の投稿を見てきました、そして修正は連鎖またはコールバックであるように見えます、しかし私はまだ何も機能させることができませんでした。これにどのようにアプローチすればよいですか?
ありがとう!ベン