分配纬度和经度时出错

时间:2011-05-11 11:37:47

标签: iphone google-maps

我正在使用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];

发生此错误 “无效接收类型双” 我在浮动转换,但它也没有工作..

3 个答案:

答案 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;