La propriété DistanceMatrix de type
TECDistanceMatrix vous
permet d'obtenir les distances et temps de voyages pour
chaque couple d'adresses départ/arrivée.
Non disponible sous CloudMade
28
Fig. 57 DemoMatrix
démonstration de l'utilisation de DistanceMatrix
Le programme de démonstration DemoMatrix est une
adaptation en Delphi de l'
exemple javascript de google
L'exemple de google ne fonctionne pas sous IE car il
y a une virgule en fin des arrays
origins et
destinations qui fait planter le
moteur javascript d'IE
29
TECDistanceMatrix
Elle donne accés aux propriétés et méthodes
suivantes
function
Count:integer;
Retourne le nombre de couples Départ/Arrivée
procedure
Update;
Lancer le calcul des distances et temps pour chaque
couple.
l'évènement OnDistanceMatrix est déclenché lorsque le
calcul est terminé
Property
Origins:TStringList;
Liste des points de départ
Property
Destinations:TStringList;
Liste des points d'arrivée
property
TravelMode :
TDirectionsTravelMode;
Choix du type de route tmDriving ou
tmWalking
property
UnitSystem :
TUnitSystem;
Choix du système d'unité, usMetric (
kilometre ) ou usImperial ( miles )
property
AvoidHighWays :
boolean;
Éviter ou non les autoroutes
property
AvoidTolls :
boolean;
Éviter ou non les péages
property
Cells[indexOrigine,indexDestination:integer]:
TECDistanceMatrixItem;
default;
Tableau permettant l'accès aux données, c'est la
propriété par défaut donc vous pouvez y accéder
directement par
map.DistanceMatrix[indexOrigine,indexDestination]
au lieu de
map.DistanceMatrix.cells[indexOrigine,indexDestination]
indexDestination est l'index du
point d'arrivé dans la liste
Destinations
indexOrigine est l'index du point
de départ dans la liste
Origins
Retourne nil si les indices sont en dehors des
bornes
20
property
Item[index:integer]:TECDistanceMatrixItem;
Item vous permet d'obtenir vos données de manière
séquentielle, utilisez Count pour connaitre le nombre
total de couples.
Ils sont rangés dans l'ordre suivant
(Départ1-Arrivée1),
(Départ1-Arrivée2),...,(Départ2-Arrivée1),(Départ2-Arrivée2),...
Retourne nil si l'indice est en dehors des
bornes
21
TECDistanceMatrixItem
Cette classe représente un couple Départ/Arrivée, elle
vous donne accès aux propriétés
property
Origin : string
Adresse de départ
property
Destination :
string
Adresse d'arrivée
property
Distance :
integer
Distance en metres
property
Duration :
integer
Durée en secondes
property
DistanceText :
string
Distance sous la forme d'un texte qui tient compte de
l'unité sysème choisie (tmMetric ou
tmImperial)
property
DurationText :
string
Durée sous forme texte
property
Status : string
Indique une éventuelle erreur, OK si
pas d'erreur et si un résultat a été trouvé
OnDistanceMatrix
Évènement déclenché après l'appel à
DistanceMatrix.Update lorsque les
résultats sont disponibles