Un simple wrapper de nœud pour récupérer les parcours en temps réel à partir de l'API TFL
npm install tfl-journey-planner --save
tflJourneyPlanner = require ( 'tfl-journey-planner' ) ;
// Specify locations in this format
locations = {
to : { lat : 51.5002452 , lng : 0.0035842 } ,
from : { lat : 51.5131652 , lng : - 0.0905267 }
} ;
options = { } ; // Specify additional options if you want (see below)
tflJourneyPlanner ( locations , options , function ( results ) {
console . log ( results ) ; // Do awesome stuff with the TFL results!
} ) ;
Les emplacements peuvent être spécifiés comme :
locations = {
to : { lat : 51.5002452 , lng : 0.0035842 } ,
from : { lat : 51.5131652 , lng : - 0.0905267 }
}
ou avec leur valeur texte
locations = {
to : 'Aldgate East' ,
from : 'London Bridge'
} ;
Cependant, l'utilisation de valeurs de texte entraînera très probablement de nombreuses correspondances, de sorte que votre réponse pourrait ne pas être celle que vous aviez prévue.
ou avec codes postaux/adresses SMS
locations = {
to : 'SE18 7PH' ,
from : 'EC3M 3AD'
} ;
Le deuxième paramètre est un objet JSON dans lequel vous pouvez mettre l'un des éléments suivants (tous sont facultatifs) :
OPTION | DÉFAUT | EXPLICATION |
---|---|---|
via | Traverser (s'il est au format de coordonnées, alors doit être "longitude, latitude") | |
nationalRecherche | [FAUX] | Le voyage comprend-il des escales en dehors de Londres ? par exemple. "nationalSearch=true" |
date | La date doit être au format aaaaMMjj | |
temps | L'heure doit être au format HHmm | |
le temps est | [Départ] | L'heure indiquée se rapporte-t-elle à l'heure d'arrivée ou de départ ? Options possibles : "départ" |
voyagePréférence | [Moins de temps] | La préférence de trajet, par exemple les options possibles : "le moins d'échange" |
mode | Le mode doit être une liste de modes séparés par des virgules. Par exemple, options possibles : "bus public, voie terrestre, train, métro, autocar, train, téléphérique, tramway, rivière, marche, vélo" | |
accessibilitéPréférence | La préférence d'accessibilité doit être une liste séparée par des virgules, par exemple. "pas d'escaliers solides, pas d'escaliers mécaniques, pas d'ascenseurs, stepFreeToVehicle, stepFreeToPlatform" | |
deNom | Le nom d'origine est le nom de l'emplacement associé à une coordonnée d'origine. | |
àNom | To name est l'emplacement de l'étiquette associé à un à coordonner | |
viaNom | Le nom de via est le nom de l'emplacement associé à une coordonnée de via. | |
maxTransferMinutes | Le temps de marche maximum en minutes pour le transfert, par exemple. "120" | |
maxMarcheMinutes | Le temps de marche maximum en minutes pour les trajets, par exemple. "120" | |
marcheVitesse | [Moyenne] | La vitesse de marche. par exemple options possibles : "lent" |
cyclePréférence | [Aucun] | La préférence de cycle. par exemple, options possibles : "allTheWay" |
ajustement | Commande de réglage du temps. par exemple options possibles : "TripFirst" | |
véloMaîtrise | Une liste de niveaux de compétence cycliste séparés par des virgules. par exemple options possibles : "facile, modéré, rapide" | |
cycle alternatif | [FAUX] | Possibilité de déterminer s'il faut revenir sur un voyage à vélo alternatif |
AlternativeMarcher | [Vrai] | Possibilité de déterminer s'il faut revenir sur un autre trajet à pied |
appliquer le balisage HTML | [FAUX] | Indicateur pour déterminer si certains textes (par exemple des instructions de marche) doivent être affichés avec des balises HTML ou non. |
utiliserMultiModalCall | [FAUX] | Un booléen pour indiquer s'il faut restituer ou non 3 trajets en transports en commun, un trajet en bus, un trajet en vélo de location, un trajet personnel à vélo et un trajet à pied |
marcheOptimisation | [FAUX] | Un booléen pour indiquer s'il faut optimiser les déplacements en utilisant la marche |
Spécifiez les options comme ceci :
options = {
walkingOptimization : true ,
bikeProficiency : 'easy' ,
accessibilityPreference : 'noEscalators'
}
Écrit en LiveScript, exécutez npm run build
to build, ou npm run watch
pour surveiller les modifications puis build
npm test
Rapport sur la page des problèmes du dépôt GitHub
L’authentification n’est plus requise ni les requêtes tfl. Si vous devez vous authentifier, vous pouvez vous inscrire pour obtenir une clé API sur https://api-portal.tfl.gov.uk/signup. Créez un objet JSON similaire à celui ci-dessous.
tfl = {
appId : 'xxxxxxxx' ,
appKey : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
} ;