NavitiaSDKUI for iOS
一个 iOS 模块,您可以在您的应用程序中使用它,为您用户提供酷炫的运输功能。
安装
NavitiaSDKUX 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile:
pod "NavitiaSDKUI"
用法
配置 - AppDelegate
参数 | 类型 | 必需 | 描述 | 示例 |
---|---|---|---|---|
NavitiaSDKUI.shared.token | String | ✓ | Navitia 令牌(在 navitia.io 上生成令牌) | 0de19ce5-e0eb-4524-a074-bda3c6894c19 |
NavitiaSDKUI.shared.mainColor | UIColor | ✗ | 用于设置背景和旅行时间颜色的颜色 | 默认为 UIColor(red: 64/255, green: 149/255, blue: 142/255, alpha: 1) |
NavitiaSDKUI.shared.originColor | UIColor | ✗ | 用于设置起点图标和路线图出发块的颜色 | 默认为 UIColor(red: 0, green: 187/255, blue: 117/255, alpha: 1) |
NavitiaSDKUI.shared.destinationColor | UIColor | ✗ | 用于设置目的地图标和路线图到达块的颜色 | 默认为 UIColor(red: 176/255, green: 3/255, blue: 83/255, alpha: 1) |
NavitiaSDKUI.shared.multiNetwork | 布尔类型 | ✗ | 用于设置路线图上显示网络名称 | 默认为false |
示例
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
NavitiaSDKUI.shared.initialize(token: "my-token")
NavitiaSDKUI.shared.mainColor = UIColor(red: 64.0/255, green: 149.0/255, blue: 142.0/255, alpha: 1)
NavitiaSDKUI.shared.originColor = UIColor(red: 0, green: 187.0/255, blue: 117.0/255, alpha: 1)
NavitiaSDKUI.shared.destinationColor = UIColor(red: 176.0/255, green: 3.0/255, blue: 83.0/255, alpha: 1)
NavitiaSDKUI.shared.multiNetwork = true
return true
}
}
旅程请求 - ViewController
参数 | 类型 | 必需 | 描述 | 示例 |
---|---|---|---|---|
originId | String | ✓ | 起点坐标,格式为 lon;lat |
"2.3665844;48.8465337" |
destinationId | String | ✓ | 终点坐标,格式为 lon;lat |
"2.2979169;48.8848719" |
originLabel | String | ✗ | 起点标签,如果没有设置,则显示地址 | "Home" |
destinationLabel | String | ✗ | 终点标签,如果没有设置,则显示地址 | "Work" |
datetime | 日期 | ✗ | 请求的旅程结果的日期和时间 | Date() |
datetimeRepresents | String | ✗ | 可以是 .departure (datetime之后的旅程)或 .arrival (datetime之前的旅程)。 |
.departure |
forbiddenUris | [String] | ✗ | 用于避免在旅程搜索中搜索路线、模式、网络等(navitia uris列表) | ["commercial_mode:Bus", "line:1"] |
allowedId | [String] | ✗ | 如果你希望只在旅程搜索中使用公共交通对象的小子集(navitia uris列表) | ["commercial_mode:Bus", "line:1"] |
firstSectionModes | [Enum] | ✗ | 旅程开始时使用的模式列表 | [.walking, .car, .bike, .bss, .ridesharing] |
lastSectionModes | [Enum] | ✗ | 旅程结束时使用的模式列表 | [.walking, .car, .bike, .bss, .ridesharing] |
count | 整数 | ✗ | 将显示的旅程数量 | 3 |
minNbJourneys | 整数 | ✗ | 将显示的最小旅程数量 | 3 |
maxNbJourneys | 整数 | ✗ | 将显示的最大旅程数量 | 10 |
addPoiInfos | [Enum] | ✗ | 允许显示自行车共享和停车场的实时可用性 | [.bss_stands, .car_park] |
directPath | Enum | ✗ | 指示旅程是否直接 | .only |
示例
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Init a set of parameters
var journeysRequest = JourneysRequest(originId: "2.3665844;48.8465337", destinationId: "2.2979169;48.8848719")
journeysRequest.originLabel = "My Home"
journeysRequest.firstSectionModes = [.walking, .car, .bike, .bss, .ridesharing]
journeysRequest.addPoiInfos = [.bssStands, .carPark]
journeysRequest.count = 5
let bundle = Bundle(identifier: "org.cocoapods.NavitiaSDKUI")
let storyboard = UIStoryboard(name: "Journey", bundle: bundle)
let journeyResultsViewController = storyboard.instantiateInitialViewController() as! ListJourneysViewController
journeyResultsViewController.journeysRequest = journeysRequest
// Invoke the screen using a navigation controller
navigationController?.pushViewController(journeyResultsViewController, animated: true)
}
}
公共交通
var journeysRequest = JourneysRequest(originId: "2.3665844;48.8465337", destinationId: "2.2979169;48.8848719")
自行车
var journeysRequest = JourneysRequest(originId: "2.3665844;48.8465337", destinationId: "2.2979169;48.8848719")
journeysRequest.firstSectionModes = [.bike]
journeysRequest.lastSectionModes = [.bike]
BSS
var journeysRequest = JourneysRequest(originId: "2.3665844;48.8465337", destinationId: "2.2979169;48.8848719")
journeysRequest.firstSectionModes = [.bss]
journeysRequest.lastSectionModes = [.bss]
journeysRequest.addPoiInfos = [.bssStands]
汽车
var journeysRequest = JourneysRequest(originId: "2.3665844;48.8465337", destinationId: "2.2979169;48.8848719")
journeysRequest.firstSectionModes = [.car]
journeysRequest.addPoiInfos = [.car_park]
拼车
var journeysRequest = JourneysRequest(originId: "2.3665844;48.8465337", destinationId: "2.2979169;48.8848719")
journeysRequest.firstSectionModes = [.ridesharing]
journeysRequest.lastSectionModes = [.ridesharing]
示例
要运行示例项目,请首先克隆仓库,然后从示例目录运行 pod install
。
图片资源自定义
可以自定义交通方式图标和其他资源。要使用此功能,您应该将图片资源重命名为与以下找到的资源名称相匹配。
以下资源可以被覆盖
部分模式
模式 | 资源名称 |
---|---|
空气 | journey_mode_air |
自行车 | journey_mode_bike |
BSS | journey_mode_bss |
公交 | journey_mode_bus |
汽车 | journey_mode_car |
长途汽车 | journey_mode_coach |
雁飞 | journey_mode_crow_fly |
渡轮 | journey_mode_ferry |
缆车 | 缆车行程模式 |
地铁 | 地铁行程模式 |
快速交通 | 快速交通行程模式 |
拼车 | 拼车行程模式 |
班车 | 班车行程模式 |
出租车 | 出租车行程模式 |
火车 | 火车行程模式 |
有轨电车 | 有轨电车行程模式 |
步行 | 步行行程模式 |
实时
上下文 | 资源名称 |
---|---|
停车位可用情况 | 实时行程停车位 |
还有更多...
上下文 | 资源名称 |
---|---|
出发 | 行程出发 |
到达 | 行程到达 |
我的位置 | 行程我的位置 |
地址 | 行程地址 |
兴趣点(POI) | 行程兴趣点 |
停靠区 | 行程停靠区 |
拼车定位点 | 行程拼车定位点 |
许可证
在此处查看 NavitiaSDKUI iOS 许可证。