Bonjour,

Voila je rencontre un petit problème avec mon code.
Je souhaite afficher plusieurs marker pour google map

Ce que je fais

Je recupère mes latitudes et longitudes qui sont dans un select ( différents )

            var lati = [];
            $('#latitude option').each(function() {
                lati.push($(this).val());
            });
            var longi = [];
            $('#longitude option').each(function() {
                longi.push($(this).val());
            });

//Résultat des console.log
Array [ "50.4985", "50.4985", "50.4985" ]  // Lati
Array [ "2.35535", "2.34335", "2.33335" ] // Longi

Mes coordonnées sont dans l'ordre

Ce que je veux

Et je souhaite les placer dans la var markers a la place des coordonnées d'exemples

var markers = [
                ['Bondi Beach', -33.890542, 151.274856],
                ['Coogee Beach', -33.923036, 151.259052],
                ['Cronulla Beach', -34.028249, 151.157507],
                ['Manly Beach', -33.80010128657071, 151.28747820854187],
                ['Maroubra Beach', -33.950198, 151.259302]
            ];
            // Résultat console.log
            Array [ Array[3], Array[3], Array[3], Array[3], undefined ]

J'essaye comme cela

var markers = [
                ['Test', lati, longi]
            ];
             // Résultat console.log
            Array [ Array[3] ]
            too much recursion

Ou

var markers = [
                'Test', lati, longi
            ];
             // Résultat console.log
Array [ "Test", Array[3], Array[3] ]
too much recursion[

Je ne vois vraiment pas comment exploiters mes données pour les metre dans la variable makers :(
Je pense avoir un problème de compréhension, mais je ne vois pas où.

Merci par avance pour vos lumières !

1 réponse


Salut,

je mettrai bien un 3ème array, et une boucle.

// d'abord, faire en sorte d'avoir ce genre de tableaux :
Array [ "Volley Beach", "Sexy Beach", "I'm a beach !" ] // Name
Array [ "50.4985", "50.4985", "50.4985" ]  // Lati
Array [ "2.35535", "2.34335", "2.33335" ] // Longi

// et on s'en sert ici
var tmp_array;
for (var i = 0; i < lati.length - 1; i++) {
    tmp_array = [];
    tmp_array.push(name[i]);
    tmp_array.push(lati[i]);
    tmp_array.push(longi[i]);
    markers[i] = tmp_array;
}

Je ne sais pas du tout si ce que j'ai écris est valide.