【问题标题】:Assigning lat long to CLLocation giving error not accepting any format将 lat long 分配给 CLLocation 给出错误不接受任何格式
【发布时间】:2013-03-22 12:42:00
【问题描述】:

我以这种方式将 lat long 分配给 CLLocation。

CLLocation *loc = [[CLLocation alloc]init];
    loc.coordinate.latitude = [sLat floatValue];
    loc.coordinate.longitude = [sLng floatValue];

来自

 NSMutableDictionary *locat = [dictLoc valueForKey:@"location"];
sLat = [locat valueForKey:@"lat"];
sLng = [locat valueForKey:@"lng"];

在控制台中显示正确的值,但在分配给 cllocation 时会终止。 请指导以上。 谢谢。

【问题讨论】:

  • “杀”是什么意思?
  • dictLoc”从何而来?这是什么?
  • 试试[[CLLocation alloc] initWithLatitude:[sLat floatValue] longitude:[sLng floatValue]],它应该可以工作。
  • done 已经不行了。
  • 什么不起作用?您能提供您遇到的错误/异常消息吗?如果您确定从字典中检索到的值是有效的,那么您遇到的问题与您的这部分代码无关。

标签: iphone ios core-location cllocation


【解决方案1】:

您可以像下面这样在CLLocationCoordinate2D 对象中获取值...

CLLocationCoordinate2D location;
location.latitude = [sLat doubleValue];
location.longitude = [sLng doubleValue];

也尝试保留该字符串,如下所示..

sLat = [locat valueForKey:@"lat"];
[sLat retain];
sLng = [locat valueForKey:@"lng"];
[sLng retain];

然后分配给CLLocation

希望对你有帮助....

【讨论】:

  • 你到底想要什么??因为您还可以使用带有坐标的位置与 CLLocationCoordinate2D 对象...
  • [__NSArrayI floatValue]: message sent to deallocated instance 0xa5bce00 这是我得到的消息,不知道为什么。
  • 我的代码没问题,它在另一个示例项目中工作但不在我现有的项目中,不知道为什么会出现这个错误。
  • 但是,不是您的代码有效,而是您提出的保留该有效的想法,我错过了保留所有其他对象但留下字符串的想法。
  • 好的,我知道,但我只是保留 CLLocationCoordinate2D 的其他选项,这可能对其他人有用,并且在选项中我发布了保留的代码.. :)
猜你喜欢
  • 1970-01-01
  • 2017-12-03
  • 2011-10-26
  • 1970-01-01
  • 2021-04-18
  • 2013-04-02
  • 1970-01-01
  • 2015-01-06
  • 1970-01-01
相关资源
最近更新 更多