🚆DVB

Travis Version Platform Docs

这是一个非官方的 Swift 包,为您提供一些选项来查询德累斯顿公共交通系统的当前公交和电车站数据。

想要为其他语言提供类似的功能,请查看这里 🙂

示例

请查看示例 iOS 应用

安装

DVB 可通过 Cocoapods、Carthage/Punic 和 Swift Package Manager 获取,选择您喜欢的方式即可。

// Cocoapods
pod 'DVB'

// Carthage
github "kiliankoe/DVB"

// Swift Package Manager
.package(url: "https://github.com/kiliankoe/DVB", from: "latest_version")

快速开始

请务必查看文档,获取有关如何使用此库的更多详细信息,但以下是一些快速入门示例。

注意:站点始终由其 ID 表示。您可以使用 Stop.find() 获取站点的 ID。下面列出的某些方法提供了方便的重载,此处列出这些重载是因为它们看起来更美观。这些方法的缺点是,它们必须首先为每个站点发送查找请求,从而导致显著的开销。如果您已经掌握了站点的 ID,我强烈建议您改用该 ID。

监控单个站点

监控单个站点,以查看离开该站点的每辆公交车、电车或任何其他车辆。必要的站点 ID 可以使用 find() 函数找到。

// See caveat above
Departure.monitor(stopWithName: "Postplatz") { result in
    guard let response = result.success else { return }
    print(response.departures)
}

查找特定站点

假设您正在寻找“Helmholtzstraße”。您可以使用以下代码查找匹配列表。

Stop.find("Helmholtzstraße") { result in
    guard let response = result.success else { return }
    print(response.stops)
}

您还可以获取给定坐标周围的站点列表。

let coordinate = CLLocationCoordinate2D(latitude: 51.063080, longitude: 13.736835)
Stop.findNear(coordinate) { result in
    guard let response = result.success else { return }
    print(response.stops)
}

查找从 A 到 B 的路线

想去某个地方吗?

// See caveat above
Trip.find(from: "Albertplatz", to: "Hauptbahnhof") { result in
    guard let response = result.success else { return }
    print(response.routes)
}

查找当前路线更改

想知道您喜欢的线路目前是否因施工或其他原因而重新规划路线?查看已发布的路线更改列表。

RouteChange.get { result in
    guard let response = result.success else { return }
    print(response.lines)
    print(response.changes)
}

特定站点运行的线路

想知道哪些线路服务于特定站点?有一个函数可以实现这一点。

// See caveat above
Line.get(forStopName: "Postplatz") { result in
    guard let response = result.success else { return }
    print(response.lines)
}

作者

Kilian Koeltzsch, @kiliankoe

Max Kattner, @maxkattner

许可证

DVB 在 MIT 许可下可用。有关更多信息,请参见 LICENSE 文件。

服务条款

请参阅有关 VVO 小部件的VVO 服务条款。请特别注意不要使用此库通过对他们慷慨提供的 API 发送过多请求来攻击他们的服务器。