間にアラートを入れない限り、varアドレスは常に未定義を返します。これに関するアドバイスは素晴らしいでしょう。これが私のコードです。私がやろうとしているのは、xml から単一の住所を取得し、それをデコーダーにスローしてから、マップにマーカーを追加することです。
var lat1;
var lng1;
var adres;
function parseLocation(callback){
var geocoder = new google.maps.Geocoder();
//convert location into longitude and latitude
var addresses = adres;
if (geocoder) {
geocoder.geocode( {
'address': addresses
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
lat1 = results[0].geometry.location.lat();
lng1 = results[0].geometry.location.lng();
if( typeof callback == 'function' ) {
callback();
}
}
});
}
}
parseLocation(function(){
$('#map_canvas').bind('init', function() {
$('#map_canvas').gmap('addMarker', {
'position': lat1+','+lng1
}).click(function() {
$('#map_canvas').gmap('openInfoWindow', {
'content': lat1+','+lng1
}, this);
});
});
})
function getdetails(artist){
$.ajax({
type: "GET",
url: "data/concerts.xml",
async: false,
dataType: "xml",
success: function(xml){
$(xml).find("concert").filter(function(){
return $(this).find("artist").text().indexOf(artist) === 0;
}).each(function(){
$('#container').append('<div id="tabel"><div id="tabelimage_detail"><img src="'+$(this).find('image').text()+'"alt="articleimage" id="image"/></div>'
+'<div id="tabelartist_detail">'+$(this).find('artist').text()+'</div>'
+'<div id="tabellocation_detail">'+$(this).find('location').text()+'</div>'
+'<div id="tabelurl_detail"><a href="'+$(this).find('url').text()+'">'+$(this).find('url').text()+'</a></div>'
+'<div id="longreview">'+$(this).find('longreview').text()+'</div>'
).trigger('create');
adres = $(this).find('adres').text();
})
parseLocation();
}
})
}