MapKit: Neue Koordinaten berechnen

Wer mit MapKit arbeitet und Koordinaten berechnen möchte, die z.B. xy Meter weit von bestehenden Koordinaten weg sind (die man z.B. durch eine Touch-Geste bekommen hat), der kann folgende Funktion nutzen:

    // Calculate new coordinates that are xy meters away from old coordinates
    func calculateNewCoordinatesByDistance(oldCoordinates: CLLocationCoordinate2D, latDistanceInMeter: Double, longDistanceInMeter: Double) -> CLLocationCoordinate2D? {
        var newCoordinates = CLLocationCoordinate2D()

        let tempRegion: MKCoordinateRegion = MKCoordinateRegionMakeWithDistance(oldCoordinates, latDistanceInMeter, longDistanceInMeter)
        let tempSpan: MKCoordinateSpan = tempRegion.span

        newCoordinates.latitude = oldCoordinates.latitude + tempSpan.latitudeDelta
        newCoordinates.longitude = oldCoordinates.longitude + tempSpan.longitudeDelta

        return newCoordinates
    }

Die Originalfunktion (in Objective-C) gibt es auf Stack Overflow, allerdings wurden die Variablennamen noch etwas sprechender gemacht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert