2013-02-22 2 views
0

J'ai un problème avec mon code. Je peux obtenir le lat et le lng à charger à partir du fichier xml et l'afficher sur Google Maps, mais il affiche seulement le premier enregistrement (il y en a 4 au total). Je suis 100% confiant que le xml est bon, je n'arrive juste pas à comprendre comment afficher tous les marqueurs sur la carte googles.XML et Google Maps, un seul marqueur montrant (sur quatre)

Toute aide serait géniale!

function initialize() { 
var myLatlng = new google.maps.LatLng(53.956086, -9.140625); 
var myOptions = { 
    zoom: 13, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
} 
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
jQuery.get("markers.xml", {}, function(data) { 
    jQuery(data).find("marker").each(function() { 
    var marker = jQuery(this); 
    var Lat = $(this).find('lat').text(); 
    var Lng = $(this).find('lng').text(); 
    var latlng = new google.maps.LatLng(parseFloat(sLat), parseFloat(Lng)); 
    var marker = new google.maps.Marker({position: latlng, map: map}); 
}); 
}); 

}

+0

Est-ce votre code exact? Il y a plusieurs erreurs - 'sLat' n'est pas défini, et vous déclarez' var marker' deux fois. –

+0

Votre méthode fonctionne pour une erreur de syntaxe XML simple et fixe: http://jsfiddle.net/Jeff_Meadows/v2BJC/ Pouvez-vous nous montrer votre XML? –

Répondre

-1

Tous les journaux/erreurs avec des outils tels que Firebug? semble bon d'après ce que je peux dire (2 problèmes: vous initialisez le marqueur 2 fois et sLat n'est pas défini).

Etes-vous sûr qu'il boucle tous les 4 fois et pas seulement une fois? Aviez-vous débogué cela?

+1

J'ai essayé de reposer les paramètres du navigateur, cache ect et qui semblait l'avoir réparé. –