将var传递给目标c块

时间:2012-01-10 16:29:20

标签: ios location reverse-geocoding

我正在使用反向地理编码器,我想将信息保存到SQLite数据库中,但我需要用户设置的纬度和经度,但它没有被传递。 我有两个双倍变量叫做纬度和经度,当我执行下面的代码时,它使用“随机”双打:

CLLocation *locate = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];

    CLGeocoder *geoCoderCL = [[CLGeocoder alloc] init];
    [geoCoderCL reverseGeocodeLocation: locate completionHandler: 
     ^(NSArray *placemarks, NSError *error) {

         CLPlacemark *placemark = [placemarks objectAtIndex:0];

         Controller *mController = [[Controller alloc] init];
         MyObject *newposition = [[Meeting alloc]init];
         [newposition setLatitude:latitude];
         [newposition setLongitude:longitude];
         [newposition setMName:[NSString stringWithFormat:@"%@ %@",placemark.thoroughfare,placemark.subThoroughfare]];
         NSLog(@"%@ %@",placemark.thoroughfare,placemark.subThoroughfare);
         [mController createRecentPoint:newposition];
         [mController release];
         [newposition release];

     }];

应该怎么做?感谢。

1 个答案:

答案 0 :(得分:0)

使用以下内容从CLPlacemark对象派生纬度和经度。

CLLocationDegrees latitude = placemark.location.coordinate.latitude;
CLLocationDegrees longitude = placemark.location.coordinate.longitude;

locationCLLocation个对象。 coordinate是一个CLLocationCoordinate2D结构,latitudelongitudeCLLocationDegrees(这只是一个典型的double)。