Skip to content

Citymapper

Citymapper 是一款公共交通和城市导航应用。Protocol Launcher 可以生成 Citymapper 官方路线链接。

使用方式

有两种使用此库的方式:

  • 按需导入(On-Demand):从子路径导入支持 tree-shaking,保持较小的打包体积。
  • 完整导入(Full Import):从根包导入更方便,但会包含所有应用模块。

生产构建建议选择按需导入;快速脚本或演示可以使用完整导入。

选择安装方式

按需加载
推荐使用。生产环境优化。
全量导入
使用便捷。适合快速脚本。

注意事项

Citymapper 文档将 endcoord 标为必需的目的地坐标,格式为 latitude,longitudeendnameendaddress 是可选的目的地信息。startcoordstartnamestartaddress 用同样的格式指定起点。

arrivalTime 会映射到 Citymapper 文档中的 arrival_time 参数,应传入 ISO-8601 日期时间字符串。Citymapper 页面也提到旧的 arriveby 参数已 deprecated,因此此模块只暴露 arrivalTime

x-callback-url 链接中的 xSourcexSuccess 会分别序列化为官方参数 x-sourcex-success

网页路线

On-Demand
ts
import { webDirections } from 'protocol-launcher/citymapper'

const url = webDirections({
  endcoord: '51.537060,-0.079179',
  endname: 'The Proud Archivist',
  endaddress: '2-10 Hertford Road, London, N1 5ET',
})

原生路线

On-Demand
ts
import { directions } from 'protocol-launcher/citymapper'

const url = directions({
  endcoord: '51.537060,-0.079179',
  endname: 'The Proud Archivist',
  endaddress: '2-10 Hertford Road, London, N1 5ET',
})

带到达时间的路线

On-Demand
ts
import { directions } from 'protocol-launcher/citymapper'

const url = directions({
  startcoord: '51.500729,-0.124625',
  startname: 'Westminster',
  startaddress: 'London SW1A 0AA',
  endcoord: '51.537060,-0.079179',
  endname: 'The Proud Archivist',
  endaddress: '2-10 Hertford Road, London, N1 5ET',
  arrivalTime: '2016-08-06T21:00+01:00',
})

X-Callback 路线

On-Demand
ts
import { xCallbackDirections } from 'protocol-launcher/citymapper'

const url = xCallbackDirections({
  endcoord: '51.537060,-0.079179',
  endname: 'The Proud Archivist',
  endaddress: '2-10 Hertford Road, London, N1 5ET',
  xSource: 'My App Name',
  xSuccess: 'myappscheme://',
})

官方文档