【问题标题】:Passing 'NSString *__strong' to parameter of incompatible type 'CLLocationDegrees' (aka 'double')将“NSString *__strong”传递给不兼容类型“CLLocationDegrees”(又名“double”)的参数
【发布时间】:2014-02-10 00:16:36
【问题描述】:

我尝试从 Google Maps SDK 中检索纬度和经度值,我正在使用这个:

NSString *lati = [end_loc objectForKey:@"lat"];
NSString *longi = [end_loc objectForKey:@"lng"];
marker.position = CLLocationCoordinate2DMake(lati, longi);

但在 ma​​rker.position 行中我收到此错误:

Passing 'NSString *__strong' to parameter of incompatible type 'CLLocationDegrees' (aka 'double')

关于如何解决它的任何想法?

【问题讨论】:

  • 阅读错误信息? - 查找 CLLocationCoordinate2DMake() 的文档?

标签: ios objective-c google-maps


【解决方案1】:

这是因为 CLLocationCoordinate2DMake 需要 CLLocationDegrees 作为一种参数类型,并且您传递 NSStrings(或 key lat/lon 的 end_lok 中的内容)。

你可以尝试这样解决:

NSString *lati = [end_loc objectForKey:@"lat"];
NSString *longi = [end_loc objectForKey:@"lng"];
marker.position = CLLocationCoordinate2DMake([lati doubleValue], [longi doubleValue]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    相关资源
    最近更新 更多