A compression algorithm to encodes/decodes a collection of CLLocationCoordinate2D into a string. check out the post: microsoft.com.
Swift 5 and beyond.
import CoreLocation
import PointCompression
extension CLLocationCoordinate2D {
static func random() -> CLLocationCoordinate2D {
return CLLocationCoordinate2D(latitude: Double(arc4random_uniform(140)) * 0.00001,
longitude: Double(arc4random_uniform(140)) * 0.00001)
}
}
func main() {
var coordinates = [CLLocationCoordinate2D]()
for _ in 0...3000 {
coordinates.append(.random())
}
let stringValue = PointCompression.Encode(coordinates)
let decodedCoordinates = PointCompression.Decode(stringValue)
}