我想在地图上同时显示多个注释。我遇到的问题是我的所有纬度和经度都是NSString ......
我想将字符串转换为duble,以便我可以传递给“CLLocationCoordinate2D”实例。 但是我得到的错误是:指针不能被强制转换为'double'
locationCoordinate.latitude=(double)NearbyLocations.lat;
locationCoordinate.latitude=(double)NearbyLocations.lng;
这是我遇到问题的代码的一部分。但是,你可能会看到我还没有完成它。
NSMutableArray *locations= [[NSMutableArray alloc]init];
CLLocationCoordinate2D locationCoordinate;
location *NearbyLocations;
Annotation *annotatedLocations;
//for (int i=0; i < locationOnMap.count;i++) {
annotatedLocations = [[Annotation alloc]init];
locationCoordinate.latitude=(double)NearbyLocations.lat;
locationCoordinate.latitude=(double)NearbyLocations.lng;
annotatedLocations.coordinate=locationCoordinate;
annotatedLocations.title=NearbyLocations.lo_name;
annotatedLocations.subtitle=NearbyLocations.lo_vicinity;
[locations addObject:annotatedLocations];
//}
如何将点类型字符串转换为double
答案 0 :(得分:4)
您必须使用NSString
转换方法doubleValue
。看看这里:How to do string conversions in Objective-C?
答案 1 :(得分:2)
这意味着您正在尝试将NSNumber objective-c对象强制转换为C基元类型,这是不可能的。要向字典添加整数,必须将其转换为NSNumber对象。要把它拉出来,你必须将它转换回来:
locationCoordinate.latitude = [NearbyLocations.lat doubleValue];
locationCoordinate.latitude = [NearbyLocations.lng doubleValue];