[英]Pointer cannot be cast to type 'double'
我想在地图上同时显示多个注解。 我遇到的问题是,我的纬度和经度都像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];
//}
我该怎么做才能将点型字符串转换为双精度型
您必须使用NSString
转换方法doubleValue
。 在这里看看: 如何在Objective-C中进行字符串转换?
这意味着您正在尝试将NSNumber目标C对象强制转换为C基本类型。 要将整数添加到字典中,必须将其转换为NSNumber对象。 要拉出它,您必须像这样将其转换回:
locationCoordinate.latitude = [NearbyLocations.lat doubleValue];
locationCoordinate.latitude = [NearbyLocations.lng doubleValue];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.