我正在使用mapkit并使用瘦代码
double latitude1;
double longitude1;
@property (assign) double latitude1;
@property (assign) double longitude1;
纬度和经度都在数据库中的double类型中,但是当我写这行时我收到了错误:(
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = [ classObj.latitude1 doubleValue];
theCoordinate.longitude = [ classObj.longitude1 doubleValue];
发生此错误 “无效接收类型双” 我在浮动转换,但它也没有工作..
答案 0 :(得分:0)
latitude1属性已经是一个普通的双重 - 你不需要(也不能使用)doubleValue调用它。只需写下:
theCoordinate.latitude = classObj.latitude1;
甚至更好
LLocationCoordinate2D theCoordinate = CLLocationCoordinate2DMake(classObj.latitude1, classObj.longitude1);
答案 1 :(得分:0)
您定义latitude1,longitude1为double
所以,你可以直接分配。
像
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = classObj.latitude1;
theCoordinate.longitude = classObj.longitude1;
答案 2 :(得分:0)
[classObj.latitude1 doubleValue]通常在需要进行类型转换时使用,但在CLLocationCoordinate2D中,纬度和经度是双倍的。无需进行类型转换,只需赋值即可。
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = classObj.latitude1;
theCoordinate.longitude = classObj.longitude1;