将字符串转换为CLLocationCoordinate

时间:2014-12-21 15:10:57

标签: ios xcode swift

是否可以将字符串转换为经度/纬度值?我设法将坐标转换为字符串,但我找不到恢复过程的方法

5 个答案:

答案 0 :(得分:8)

另一种转换方式:

let latitude = (latitudeString as NSString).doubleValue
let longitude = (longitudeString as NSString).doubleValue

答案 1 :(得分:6)

Swift 3

let lat = Double(String1)
let lon = Double(String2)

 let coordinates = CLLocationCoordinate2D(latitude:lat!
                        , longitude:lon!)

CLLocationCoordinate2D是一个双精度值,它可以将字符串转换为double参见上面的示例

答案 2 :(得分:5)

我的坏,这是一个简单的类型。如果有人在如何将字符串转换为坐标方面挣扎,那么这里的语法正确:

let location:CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: Double(([longitudeString] as NSString).doubleValue), longitude: Double(([LatitudeString] as NSString).doubleValue))

答案 3 :(得分:1)

var currentLocationLatitude = "45.5626" // your string latitude
var currentLocationLongitude = "45.5626" // your string longitude

var currentLocation:CLLocationCoordinate2D! //location object

currentLocation = CLLocationCoordinate2D(latitude:currentLocationLatitude.toDouble() ?? 0.0, longitude: currentLocationLongitude.toDouble() ?? 0.0) 



extension String
{
    /// EZSE: Converts String to Double
    public func toDouble() -> Double?
    {
       if let num = NumberFormatter().number(from: self) {
                return num.doubleValue
            } else {
                return nil
            }
     }
}

您可以从API响应和CLLocationCoordinate2D变量中获取字符串纬度和经度,并转换为Double值。 我还添加了将字符串转换为double的扩展名。

答案 4 :(得分:1)

可能会帮助

let Latitude = ("41" as NSString).doubleValue
let Longitude = ("29" as NSString).doubleValue