2011-08-09 3 views

Répondre

1

Vous pouvez le faire:

var coords = ['(52.37253609047836, 4.868355474853502)', '(52.37253609047836, 4.868355474853502)', '(52.37253609047836, 4.868355474853502)']; 

var coordConverted = []; 

for (var i = 0; i < coords.length; i++) { 
    var values = coords[i].match(/\d+\.\d+/g); 
    coordConverted.push({ 
     latitude: values[0], 
     longitude: values[1] 
    }); 
} 

$.ajax({ 
    type: 'POST', 
    data: {coords: coordConverted}, 
    url: 'server' 
}) 

Si, et seulement si, le serveur attend tableau coords poste variable. La sortie ressemble à ceci:

{coords: [{"latitude":"52.37253609047836","longitude":"4.868355474853502"},{"latitude":"52.37253609047836","longitude":"4.868355474853502"},{"latitude":"52.37253609047836","longitude":"4.868355474853502"}]} 
+0

Salut, le Array.toString ressemble à ceci: (52,37253609047836, 4,868355474853502), (52,36247380473571, 4,86663886108397), (52,36163517746424, 4,88037177124022), (52,36142551815929, 4,903374395751939) ... par exemple. Il peut y avoir plusieurs valeurs - et pas seulement deux. Est-ce qu'il y a une chance de poster ceci? – fillibuster

+0

Chaque élément du tableau est-il une chaîne? – Joe

+0

Les éléments sont des numéros: http://code.google.com/intl/fr-FR/apis/maps/documentation/javascript/reference.html#LatLng – fillibuster

1

Joey était presque là.

lonLatArray = [....prepopulated...]; 
coords = []; 

for(var i=0;i<latLonArray.length;i++){ 
    coords.push({ 
     lat: lonLatArray[i].lat(), 
     lon: lonLatArray[i].lon() 
    }); 
} 

$.post("ajax.php",{data: coords},function(data){ 
    console.log("success"); 
}); 
Questions connexes