丹麦克路管理局SDK 1.0.2

丹麦克路管理局SDK 1.0.2

Daniel Andersen维护。



丹麦克路管理局SDK

获取丹麦地理区域官方和最新交通数据的简便方式。

Build Status CocoaPods compatible Platform License

功能

  • 交通事件
  • 施工事件
  • 路段拥堵状态
  • 冬季路段除冰状态
  • 冬季路段状况
  • 从地理边界框内请求数据
  • 通过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密钥,您必须

  1. 在丹麦公路局网站 https://nap.vd.dk/register 上注册一个账户。
  2. 生成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》许可证发布。