Um wrapper Node simples para buscar jornadas em tempo real da 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!
} ) ;
Os locais podem ser especificados como:
locations = {
to : { lat : 51.5002452 , lng : 0.0035842 } ,
from : { lat : 51.5131652 , lng : - 0.0905267 }
}
ou com seu valor de texto
locations = {
to : 'Aldgate East' ,
from : 'London Bridge'
} ;
No entanto, o uso de valores de texto provavelmente terá muitas correspondências, portanto, sua resposta pode não ser a planejada.
ou com códigos postais/endereços de texto
locations = {
to : 'SE18 7PH' ,
from : 'EC3M 3AD'
} ;
O segundo parâmetro é um objeto JSON onde você pode colocar qualquer um dos seguintes (todos são opcionais):
OPÇÃO | PADRÃO | EXPLICAÇÃO |
---|---|---|
através de | Viajar (se estiver em formato de coordenadas, deve ser "longitude,latitude") | |
nacionalPesquisa | [Falso] | A viagem cobre paradas fora de Londres? por exemplo. "nacionalPesquisa=true" |
data | A data deve estar no formato aaaaMMdd | |
tempo | A hora deve estar no formato HHmm | |
tempo é | [Partindo] | A hora indicada está relacionada com a hora de chegada ou de saída? Opções possíveis: "partida" |
jornadaPreferência | [MenosTempo] | A preferência de viagem, por exemplo, opções possíveis: "leastinterchange" |
modo | O modo deve ser uma lista de modos separados por vírgulas. por exemplo, opções possíveis: "ônibus público, metrô, trem, metrô, ônibus, dlr, teleférico, bonde, rio, caminhada, bicicleta" | |
acessibilidadePreferência | A preferência de acessibilidade deve ser uma lista separada por vírgulas, por exemplo. "noSolidStairs,noEscalators,noElevators,stepFreeToVehicle,stepFreeToPlatform" | |
deNome | Do nome é o nome do local associado a uma coordenada de origem | |
paraNome | To name é o local do rótulo associado a uma coordenada | |
viaNome | Via nome é o nome do local associado a uma coordenada via. | |
maxTransferMinutes | O tempo máximo de caminhada em minutos para transferência, por exemplo. "120" | |
maxWalkingMinutos | O tempo máximo de caminhada em minutos para viagens, por exemplo. "120" | |
andandoVelocidade | [Média] | A velocidade de caminhada. por exemplo, opções possíveis: "lento" |
cicloPreferência | [Nenhum] | A preferência do ciclo. por exemplo, opções possíveis: "allTheWay" |
ajuste | Comando de ajuste de tempo. por exemplo, opções possíveis: "TripFirst" | |
bicicletaProficiência | Uma lista separada por vírgulas de níveis de proficiência em ciclismo. por exemplo, opções possíveis: "fácil, moderado, rápido" | |
ciclo alternativo | [Falso] | Opção para determinar se deve retornar uma viagem alternativa de bicicleta |
alternativaCaminhada | [Verdadeiro] | Opção para determinar se deve retornar uma jornada alternativa a pé |
aplicarHtmlMarkup | [Falso] | Sinalizador para determinar se determinado texto (por exemplo, instruções de caminhada) deve ser exibido com tags HTML ou não. |
useMultiModalCall | [Falso] | Um booleano para indicar se deve ou não retornar 3 viagens de transporte público, uma viagem de ônibus, uma viagem de aluguel de bicicleta, uma viagem de bicicleta pessoal e uma viagem a pé |
caminhandoOtimização | [Falso] | Um booleano para indicar se é necessário otimizar viagens usando caminhada |
Especifique opções como esta:
options = {
walkingOptimization : true ,
bikeProficiency : 'easy' ,
accessibilityPreference : 'noEscalators'
}
Escrito em LiveScript, execute npm run build
para construir ou npm run watch
para observar as alterações e depois construir
npm test
Relatório na página de problemas do repositório GitHub
A autenticação não é mais necessária ou solicitações tfl. Se precisar se autenticar, você pode se inscrever para obter uma chave de API em https://api-portal.tfl.gov.uk/signup Crie um objeto JSON semelhante ao abaixo
tfl = {
appId : 'xxxxxxxx' ,
appKey : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
} ;