static void OBRFindKm(Args _args)
{
dialog d;
dialogField Depart,Arrivee;
Name VilleDepart,VilleArrivee;
Str url,xml;
System.Net.WebClient webClient = new System.Net.WebClient();
XMlDocument doc;
XMLNodeList Distance;
XMLNode node;
real totaldistance;
;
d = new dialog();
Depart = d.addField(extendedTypeStr(Name));
Depart.label("Départ");
Arrivee = d.addField(extendedTypeStr(Name));
Arrivee.label("@SYS14181");
d.run();
VilleDepart = Depart.value();
VilleArrivee = Arrivee.value();
if(VilleDepart != "" && VilleArrivee != "")
{
url = "http://maps.google.com/maps/api/directions/xml?language=fr&origin="+VilleDepart+"&destination="+VilleArrivee+"&sensor=false";
xml = webClient.DownloadString(url);
doc = XMLDocument::newXml(xml);
Distance = doc.selectNodes('//distance');
node = Distance.nextNode();
if(d.closedOk())
{
while(node)
{
totalDistance = any2real(node.selectSingleNode('value').text());
node = Distance.nextNode();
}
box::info((strfmt("%1 %2 %3","Distance totale:",totalDistance/1000,"km")));
}
else
{
box::info("@SYS93289");
}
}
else
{
box::info("le point de départ et/ou le point d'arrivé sont mal renseignés");
}
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.