丹麦克路管理局SDK
获取丹麦地理区域官方和最新交通数据的简便方式。
功能
- 交通事件
- 施工事件
- 路段拥堵状态
- 冬季路段除冰状态
- 冬季路段状况
- 从地理边界框内请求数据
- 通过
tag
请求单个实体
安装
可以使用以下方法之一安装库
Swift包管理器(SPM)
将VejdirektoratetSDK
添加到您的Package.swift
import PackageDescription
let package = Package(
dependencies: [
package(url: "https://github.com/Vejdirektoratet/sdk-ios.git", "1.0.2")
])
Cocoa Pods
请将以下行添加到您的Podfile中
pod 'VejdirektoratetSDK'
然后运行
$ pod install
请确保在Xcode中打开生成的工作区。
开始使用
配置
通过此SDK请求数据时需要API密钥。要生成API密钥,您必须
- 在丹麦公路局网站 https://nap.vd.dk/register 上注册一个账户。
- 生成API密钥 (在步骤1中创建的账户登录状态下)生成
数据请求示例
以下请求将返回指定地区的当前交通和道路施工事件。由于参数 viewType = .List,返回的数据将是子类 ListEntity 的对象,适合列表表示。
import VejdirektoratetSDK
VejdirektoratetSDK.request(entityTypes: [.Traffic, .RoadWork],
region: mapView.region,
viewType: .List,
apiKey: self.apiKey) { result in
switch result {
case .entities(let entities):
// Handle entities
case .error(let error):
// Handle error
default:
break
}
}
取消请求
该方法返回一个 HTTP.Request
,可以通过调用以下命令取消:
request.cancel()
请求参数
entityTypes
entityTypes
参数是一个列表,定义了所需的数据内容。可用的实体类型有
- 交通 (例如事故)
- 道路施工 (道路施工)
- 交通密集度 (道路段交通拥堵情况)
- 冬季融雪 (道路段融雪状态)
- 冬季条件 (冬季道路段条件,例如该路段是否有滑倒风险?)
注意: 交通密集度
、冬季融雪
和 冬季条件
只能与 viewType = .Map
结合使用
区域(可选)
region
参数是类型为 MKCoordinateRegion
的边界框,描述了获取数据区域。
省略此参数将返回整个丹麦地区的全部数据。
缩放(可选)
zoom
参数是一个类似 Google Maps 的缩放级别,描述了返回几何信息的分辨率。
注意: 此参数只与 viewType = .Map
相关
viewType
viewType
参数定义了数据应该以何种格式返回。数据可以以两种格式返回,旨在实现不同的目的。
- 列表 - 返回
ListEntity
对象 (数据列表表示) - 地图 - 返回
MapEntity
对象 (包含地图表示数据的几何信息)
apiKey
apiKey
参数是获取数据所必需的。可以在丹麦道路管理局的网站上生成网站
完成
《完成》参数是处理请求结果的回调函数。结果以《HTTP.Result》枚举的形式返回。
- 结果.实体 (包含请求的实体列表)
- 结果.实体 (包含单个请求实体)
- 结果.错误 (包含请求错误)
信用
VejdirektoratetSDK由丹麦公路局提供。
本SDK使用以下库
项目贡献者。
许可证
VejdirektoratetSDK采用《MIT》许可证发布。