Composant Delphi / Google Maps / OpenStreetMap / Leaflet  / Mappilary / Native Maps 100% Delphi 0% WebBrowser 0% Javascript

DistanceMatrix

Vous êtes ici :TECMap

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
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

// Delphi map component ECMap

// show group 'group-one' only if zoom>=14 and zoom<=16

map.Groups['group-one'].MinZoom := 14;
map.Groups['group-one'].MaxZoom := 16;

map.Groups['group-one'].Visible := true;


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

Aller à la page
Composant Delphi / Google Maps / OpenStreetMap / Leaflet  / Mappilary© 2016 ESCOT-SEP Christophe - Réalisé avec Help&Web - RSS - RSS - Google+