一个让我发疯的小转换问题。
我有一个代表纬度的字符串(例如“35.453454”)。我想用它作为 CLLocation 的纬度。
如何以正确的 CLLocation(度数)格式转换字符串?
非常感谢,这让我很生气!托马斯
一个让我发疯的小转换问题。
我有一个代表纬度的字符串(例如“35.453454”)。我想用它作为 CLLocation 的纬度。
如何以正确的 CLLocation(度数)格式转换字符串?
非常感谢,这让我很生气!托马斯
要将 NSString 转换为 CLLocationDegrees(即double
):
return [theString doubleValue];
假设您已将字符串存储"35.453454"
为
在目标 C
NSString *latitudeString = @"35.453454";
在斯威夫特 2.2
let latituteString : String = "35.453454"
并且您想将此 NSString 转换为正确的 CLLocation。
但是 CLLocation 分别有两个参数纬度和经度。
除非您没有与给定纬度“35.453454”相对应的经度,否则不可能仅将您的纬度存储在 CLLocation 中。
案例1:假设您没有相应的经度。然后,您可以暂时将您唯一的纬度存储在 CLLocationDegrees 中,以便稍后在初始化您的 CLLocation 对象时使用它。
在 Objective-C 中:
CLLocationDegress myLatitude = [latitudeString doubleValue];
在斯威夫特 2.2
let myLatitute : CLLocationDegress = Double(latitudeString)
案例2:假设您有相应的经度。然后,您可以将纬度和经度存储在 CLLocationDegrees 中,以在初始化 CLLocation 对象时使用它。
让你的经度成为18.9201344
然后,
在 Objective-C 中
NSString *longitudeString = @"18.9201344";
//creating latitude and longitude for location
CLLocationDegrees latitudeDegrees = [latitudeString doubleValue];
CLLocationDegrees longitudeDegrees = [longitudeString doubleValue];
//initializing location with respective latitude and longitude
CLLocation *myLocation = [[CLLocation alloc]initWithLatitude:latitudeDegrees longitude:longitudeDegrees];
在斯威夫特 2.2
let longitudeString : String = "18.9201344"
let latitudeDegrees : CLLocationDegrees = Double(latitudeString)
let longitudeDegrees : CLLocationDegress = Double(longitudeString)
let location : CLLocation = CLLocation.init(latitude: latitudeDegrees, longitude: longitudeDegrees)