Swift Bindings für die API, die von der KVV Live Webapp benutzt wird.
Dank geht an Nervengift, durch dessen kvvliveapi Projekt dieses entstand.
Folgende Anfrage-Methoden stehen zuf Verfügung:
func searchStop(by: String, maxInfos: Int, completion: (([Stop]) -> Void))
func searchStop(by: (lat: Double, lon: Double), maxInfos: Int, completion: (([StopWithDistance]) -> Void))
func getDepartures(route: String, stopId: String, maxInfos: Int, completion: (([Departure]) -> Void))
func getDepartures(stopId: String, maxInfos: Int = 10, _ completion: (([Departure]) -> Void))
Um eine Anfrage zu starten muss zunächst ein Request instanziiert werden:
let request = KVVlive.Request()
Nun kann man folgendermaßen Abfahrten einer Haltestelle abrufen:
var departures: [Departure]
request.getDepartures(stopId: stopId) { fetchedDepartures in
departures = fetchedDepartures
}
Die empfangenen Abfahrten können mittels eines Completion Handlers der Variabeln zugewiesen werden.