字符串到CLLocation纬度和经度

Vin*_*ino 20 string iphone objective-c cllocation

我有两个代表纬度和经度的字符串,如:" - 56.6462520",我想分配给一个CLLocation对象来比较我当前的位置.我尝试了下面的代码,但我只得到错误:

CLLocation * LocationAtual = [[CLLocation alloc]init];
LocationAtual.coordinate.latitude = @"-56.6462520";
LocationAtual.coordinate.longitude = @"-36.6462520";
Run Code Online (Sandbox Code Playgroud)

然后将对象与我的实际位置纬度和经度进行比较.有什么建议?

Ami*_*itP 108

您不能直接分配到坐标 - 它是CLLocation的只读属性.
使用以下实例方法:

- (instancetype)initWithLatitude:(CLLocationDegrees)latitude
                       longitude:(CLLocationDegrees)longitude
Run Code Online (Sandbox Code Playgroud)

例:

CLLocation *LocationAtual = [[CLLocation alloc] initWithLatitude:-56.6462520 longitude:-36.6462520];
Run Code Online (Sandbox Code Playgroud)


Rob*_*ods 13

我想你需要:

LocationAtual.coordinate.latitude = [@"-56.6462520" floatValue];
LocationAtual.coordinate.longitude = [@"-36.6462520" floatValue];
Run Code Online (Sandbox Code Playgroud)

  • 我无法删除已接受的答案,但同意AmitP的答案是正确的.我的回答是"你不能使用字符串作为数字" (3认同)

Pau*_*ehn 8

Swift回答懒惰:

var LocationAtual: CLLocation = CLLocation(latitude: -56.6462520, longitude: -36.6462520)
Run Code Online (Sandbox Code Playgroud)