Open Journey Planner SDK for iOS and macOS

swift version shield platforms shield

概述

此 SDK 使 Swift 应用程序能够集成 Open Journey Planner (OJP) V2 API,以支持根据欧洲 (CEN) 技术规范“智能交通系统 – 公共交通 – 分布式行程规划开放 API”进行分布式行程规划。

有关 OJP 的一般介绍,请查阅 Cookbook,网址为 opentransportdata.swiss。访问 vdvde.github.io/OJP 以获取 OJP XML 架构的文档。

🚧 目前此 SDK 正在建设中。 请注意,API 仍可能更改。 🚧

功能

可用的 API

要求

安装

可以使用 Swift Package Manager 将 SDK 集成到您的 Xcode 项目中。将以下依赖项添加到您的 Package.swift 或作为 Xcode 中的 Package Dependency

    .package(url: "`https://github.com/openTdataCH/ojp-ios.git", from: "1.0.0"),

用法

初始化

import OJP

let apiConfiguration = APIConfiguration(
    apiEndPoint: URL(string: "your api endpoint")!, 
    requesterReference: "your request reference", 
    additionalHeaders: [
        "Authorization": "Bearer yourBearerToken"
    ]
)

let ojpSdk = OJP(
    loadingStrategy: .http(apiConfiguration),
    language: "de" // optional ISO language code. Defaults to the preferred localization. 
)

基本用法

从关键字获取 PlaceResult 列表

// get only stops
let stops = try await ojpSdk.requestPlaceResults(
    from: "Bern",
    restrictions: .init(type: [.stop])
)
        
// get stops and addresses
let addresses = try await ojpSdk.requestPlaceResults(from: "Bern", restrictions: .init(type: [.stop, .address]))

使用经度和纬度获取地点周围的 PlaceResults 列表

let nearbyStops = try await ojpSdk.requestPlaceResults(
    from: Point(long: 5.6, lat: 2.3), 
    restrictions: .init(type: [.stop])
)

获取两个地点之间的行程列表

let origin = try await ojpSdk.requestPlaceResults(
    from: "Bern", 
    restrictions: .init(type: [.stop])
).first!

let via = try await ojpSdk.requestPlaceResults(
    from: "Luzern", 
    restrictions: .init(type: [.stop])
).first!

let destination = try await ojpSdk.requestPlaceResults(
    from: "Zurich HB", 
    restrictions: .init(type: [.stop])
).first!

let tripDelivery = try await ojp.requestTrips(
    from: origin.placeRef, 
    to: destination.placeRef, 
    via: via.placeRef,
    params: .init(
        includeTrackSections: true, 
        includeIntermediateStops: true
    )
)

有关更详细的介绍,请访问文档中的 入门指南 文章。

示例应用

有一个实验性的 示例应用 用于展示和测试 SDK。目前旨在作为 macOS 应用程序运行。

文档

发布

请参阅 发布 以获取所有当前版本的历史记录。

可以使用 ./create-version.sh 准备新版本。

使用的标准

贡献

欢迎贡献。请随时创建 issue 或功能请求,或 fork 该项目并提交 pull request。

许可证

MIT 许可证,请参阅 LICENSE

联系方式

创建 issue 或联系 opentransportdata.swiss