0

我收到以下错误:

Assigning to 'CLLocationCoordinate2D *' from incompatible type 'CLLocationCoordinate2D'; take the address with &

在下面的行中:

 locationMapViewController.centerOfMap = coordinate;



- (IBAction) btnLocateAddress
{

    if (!self.geocoder) {
        self.geocoder = [[CLGeocoder alloc] init];
    }


    [self.geocoder geocodeAddressString:self.address.text completionHandler:^(NSArray *placemarks, NSError *error) {
        if ([placemarks count] > 0) {
            CLPlacemark *placemark = [placemarks objectAtIndex:0];
            CLLocation *location = placemark.location;
            CLLocationCoordinate2D coordinate = location.coordinate;

            self.address.text = [NSString stringWithFormat:@"%f, %f", coordinate.latitude, coordinate.longitude];

            if ([placemark.areasOfInterest count] > 0) {
                NSString *areaOfInterest = [placemark.areasOfInterest objectAtIndex:0];
                 NSLog(@"Area of Interest: %@",areaOfInterest);
            }



        //lets push the new map screen
            LocationMapViewController *locationMapViewController = [[LocationMapViewController alloc] initWithNibName:@"LocationMapViewController_iPhone" bundle:nil];
            locationMapViewController.title=@"Your Property Listing";
            locationMapViewController.centerOfMap = coordinate;
            [self.navigationController pushViewController:locationMapViewController animated:YES]; 


        }
    }];


}

我究竟做错了什么?

4

1 回答 1

4

错误告诉你一切。您正在CLLocationCoordinate2D为指针 ( ) 赋值(参见 NO POINTER)CLLocationCoordinate2D *您可以使用 & 来获取变量的地址。也称为pointer. 因此,您可以直接执行locationMapViewController.centerOfMap = &coordinate;或设置latitudeandlongitude值。

干杯,

乔治

于 2012-07-05T22:49:32.150 回答