Простая оболочка Node для получения данных о поездках в реальном времени из 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!
} ) ;
Местоположение может быть указано следующим образом:
locations = {
to : { lat : 51.5002452 , lng : 0.0035842 } ,
from : { lat : 51.5131652 , lng : - 0.0905267 }
}
или с их текстовым значением
locations = {
to : 'Aldgate East' ,
from : 'London Bridge'
} ;
Однако использование текстовых значений, скорее всего, приведет к большому количеству совпадений, поэтому ваш ответ может быть не таким, как вы планировали.
или с почтовыми индексами/текстовыми адресами
locations = {
to : 'SE18 7PH' ,
from : 'EC3M 3AD'
} ;
Второй параметр — это объект JSON, куда вы можете поместить любое из следующих значений (все необязательно):
ВАРИАНТ | ПО УМОЛЧАНИЮ | ОБЪЯСНЕНИЕ |
---|---|---|
с помощью | Путешествие через (если в формате координат, то должно быть «долгота, широта») | |
национальный поиск | [ЛОЖЬ] | Остановится ли страховое покрытие за пределами Лондона? например. "национальный поиск=истина" |
дата | Дата должна быть в формате ггггММдд. | |
время | Время должно быть в формате ЧЧмм. | |
время есть | [Уходя] | Относится ли указанное время ко времени прибытия или отъезда? Возможные варианты: «уходящий». |
путешествиеПредпочтения | [Наименьшее время] | Предпочтение поездки, например возможные варианты: «Leastinterchange». |
режим | Режим должен представлять собой список режимов, разделенных запятыми. например возможные варианты: "общественный автобус,наземный,поезд,труба,автобус,длр,канатная дорога,трамвай,река,пеший,велосипедный" | |
доступностьПредпочтение | Предпочтение доступности должно быть списком, разделенным запятыми, например. "noSolidStairs,noEscalators,noElevators,stepFreeToVehicle,stepFreeToPlatform" | |
fromName | Имя отправителя — это имя местоположения, связанное с координатой отправителя. | |
toName | Имя — это местоположение метки, связанное с координатой. | |
черезимя | Имя переходного отверстия — это имя местоположения, связанное с координатой переходного отверстия. | |
МаксТрансферМинутес | Максимальное время ходьбы в минутах для трансфера, например. "120" | |
МаксХодьбаМинуты | Максимальное время ходьбы в минутах для поездок, например. "120" | |
ходьбаСкорость | [Средний] | Скорость ходьбы. например возможные варианты: «медленно» |
циклПредпочтение | [Никто] | Предпочтение цикла. например возможные варианты: «allTheWay» |
корректирование | Команда корректировки времени. например возможные варианты: «TripFirst» | |
велосипедПрофессионализм | Список уровней владения ездой на велосипеде, разделенный запятыми. например возможные варианты: «легкий, средний, быстрый» | |
Альтернативный цикл | [ЛОЖЬ] | Возможность определить, стоит ли возвращаться в альтернативную велосипедную поездку. |
альтернативаХодьба | [Истинный] | Возможность определить, стоит ли возвращаться альтернативным пешеходным маршрутом. |
применитьHtmlMarkup | [ЛОЖЬ] | Флаг, определяющий, следует ли выводить определенный текст (например, инструкции по ходьбе) с тегами HTML или нет. |
использоватьMultiModalCall | [ЛОЖЬ] | Логическое значение, указывающее, следует ли возвращать 3 поездки на общественном транспорте, поездку на автобусе, поездку на велосипеде, личную поездку на велосипеде и пешую поездку. |
ходьбаОптимизация | [ЛОЖЬ] | Логическое значение, указывающее, следует ли оптимизировать поездки с помощью ходьбы. |
Укажите такие параметры:
options = {
walkingOptimization : true ,
bikeProficiency : 'easy' ,
accessibilityPreference : 'noEscalators'
}
Написано на LiveScript, запустите npm run build
для сборки или npm run watch
чтобы отслеживать изменения, а затем собирайте.
npm test
Отчет о странице проблемы с репозиторием GitHub
Аутентификация больше не требуется или не требует tfl-запросов. Если вам необходимо пройти аутентификацию, вы можете подписаться на ключ API по адресу https://api-portal.tfl.gov.uk/signup. Создайте объект JSON, аналогичный приведенному ниже.
tfl = {
appId : 'xxxxxxxx' ,
appKey : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
} ;