#1 Wed 20 January 2016 14:54
- Francois Gueydon
- Participant actif
- Lieu: Castelnaud la Chapelle
- Date d'inscription: 17 Jun 2015
- Messages: 69
Ajout de données d'un xml sur leaflet
Bonjour à tous,
j'essaye en ce moment d'ajouter des données venant d'un flux xml sur leaflet et je m'y casse les dents.
J'ai suivi ce tuto qui me semble plutôt clair: http://erica.altschul.info/Tutorial_XML-to-Leaflet.pdf
hélas, autant j'arrive à afficher une liste des données xml dans une div, autant quand il s'agit de les inclure sur une carte leaflet je bloque..
en gros mon code pour essayer d'appeler les données xml dans un marker leaflet:
//appel du document xml
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "542Tutorial_01.xml",
dataType: "xml",
success: parseXml
});
});
//ajout d'un marker se servant des données xml
L.marker([$(this).find("lat").text(),
$(this).find("long").text()]).addTo(map);
Etant néophite en ajax je me dis que c'est peut etre une grossiere erreur de syntaxe, quelqu'un aurait une idée?
La cartographie sans SIG existe encore: http://www.cartographersguild.com/content.php
Site perso: http://francoisgueydon.jimdo.com/
Hors ligne
#2 Thu 21 January 2016 10:41
Re: Ajout de données d'un xml sur leaflet
Bonjour,
Quelle est votre fonction parseXml?
le "this" fait référence à la fonction, non?
Je ferais plutôt comme ça :
Code:
function parseXml(data){ console.log(data) }
"data" est le contenu du xml
Hors ligne
#3 Thu 21 January 2016 11:37
- Francois Gueydon
- Participant actif
- Lieu: Castelnaud la Chapelle
- Date d'inscription: 17 Jun 2015
- Messages: 69
Re: Ajout de données d'un xml sur leaflet
Et bien mon code d'appel du xml au complet donne ça:
<script>
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "542Tutorial_01.xml",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml)
{
$(xml).find("point").each
(function()
{
$(this).find("lat").text(),
$(this).find("long").text()
});
}
puis ensuite mon code leaflet dans lequel j'essaye d'ajouter les données du xml avec L.marker mais ca ne marche pas.
J'avoue ne pas vraiment maitriser le javascript, c'est surtout que je n'arrives même pas à faire fonctionner le code du tuto.
La cartographie sans SIG existe encore: http://www.cartographersguild.com/content.php
Site perso: http://francoisgueydon.jimdo.com/
Hors ligne
#4 Fri 22 January 2016 11:19
Re: Ajout de données d'un xml sur leaflet
En fait il nous faudrait le XML ou au moins la sortie de la fonction parseXml
console.log est ton ami dans pour debugger
Code:
function parseXml(xml) { $(xml).find("point").each (function(){ console.log($(this).find("lat").text()); console.log($(this).find("long").text()); }); }
Hors ligne
#5 Fri 22 January 2016 14:13
- Francois Gueydon
- Participant actif
- Lieu: Castelnaud la Chapelle
- Date d'inscription: 17 Jun 2015
- Messages: 69
Re: Ajout de données d'un xml sur leaflet
mon xml est une copie de celui ci: http://erica.altschul.info/542Tutorial_01.xml
En fait j'essaye juste de reproduire l'exercice donné dans le tuto et d'afficher les points dans leaflet (avant d'essayer avec d'autres xml).
N'ayant jamais fait de ajax avant ce tuto, j'ai bien du mal a comprendre les subtilités des fonctions.
La cartographie sans SIG existe encore: http://www.cartographersguild.com/content.php
Site perso: http://francoisgueydon.jimdo.com/
Hors ligne
#6 Fri 22 January 2016 15:48
Re: Ajout de données d'un xml sur leaflet
Le code un peu clarifié mais pas testé
J'ao ajouté un parseFloat pour convertir les coordonnées de text en décimale.
Code:
$.ajax({ type: "GET", url: "le_xml.xml", dataType: "xml", success: parseXml, error:function(e){ console.log('ko') //y'a une erreur console.log(e) // on affiche l'erreur } }); function parseXml(xml) { console.log('ok') $(xml).find("point").each(function() { var lat =parseFloat($(this).find("lat").text()); var lng = parseFloat($(this).find("long").text()); L.marker([lat,lng]).addTo(map); }); }
Hors ligne
#7 Mon 25 January 2016 09:53
- Francois Gueydon
- Participant actif
- Lieu: Castelnaud la Chapelle
- Date d'inscription: 17 Jun 2015
- Messages: 69
Re: Ajout de données d'un xml sur leaflet
Merci beaucoup j'arrives enfin à afficher le xml sur leaflet! Ya encore pas mal de boulot pour tout comprendre mais au moins c'est un exemple qui marche, bon point de départ pour décortiquer tout ça
La cartographie sans SIG existe encore: http://www.cartographersguild.com/content.php
Site perso: http://francoisgueydon.jimdo.com/
Hors ligne