Home > Mobile >  Swift 5 String Manipulation
Swift 5 String Manipulation

Time:09-15

I am learning iOS development and I try to get Gps information from phone and send to api using Alamofire as below

let parameter = ["appVersion": "1.3.1",
                         "countryCode": "TZ",
                         "deviceName": "chrome",
                         "deviceId": "Web",
                         "deviceOS": "Mac OS",
                         "deviceToken": "token",
                         "latitude":"nothing",
                         "longitude":"nothing",
                         "date":"nothing",
                         "time":"nothing"
                          "speed":"Nothing"
                         ]
        AF.request("https://mtvmax.com/api/login",method: .post,parameters: parameter).response{
            response in
            debugPrint(response)
        }

And getting Gps information from phone as

func locationManager(_ _manager:CLLocationManager, didUpdateLocations Location:[CLLocation]){
        if let location = Location.first{
            //print(location.coordinate)
            Uilabel.text = location.description
            //print(location.description)
            
        }
        
    }

when I print location.description am getting responses < 37.78583400,-122.40641700> /- 5.00m (speed -1.00 mps / course -1.00) @ 9/15/22, 10:05:21 AM East Africa Time

My question is how can I manipulate this string to get substrings of latitude, longitude, time, date, speed, course and altitude. I apologise for my English am using google translator

CodePudding user response:

you can use CLLocation class to get these values like:

func locationManager(_ _manager:CLLocationManager, didUpdateLocations Location:[CLLocation]){
        if let location = Location.first{
            let altitude = location.altitude.description
            let latitude = location.coordinate.latitude
            let longitude = location.coordinate.longitude
            let timeAndDate = location.timestamp
            let speed = location.speed
        
        }
        
    }
  • Related