0

我得到了经度和纬度值,并将其保存在标签中,它很容易显示在我的应用程序中,但我想要当前位置的详细信息,主要是地点的名称。
我使用了 MKReverseGeocoder。我做了这个代码

- (void)locationUpdate:(CLLocation *)location
{
    CLLocationCoordinate2D coord;
    coord.longitude=[NSString stringWithFormat:@"LATITUDE: %f", location.coordinate.latitude];

    MKReverseGeocoder *geocoder=[[MKReverseGeocoder alloc]initWithCoordinate:coord];
    [geocoder setDelegate:self];
    [geocoder  start];



    latlbl.text = [NSString stringWithFormat:@"LATITUDE: %f", location.coordinate.latitude];
    lonlbl.text = [NSString stringWithFormat:@"LONGITUDE: %f", location.coordinate.longitude];
    //txtlocate.text = [location description];

}
![-(void)reverseGeocoder:(MKReverseGeocoder)geocoder didFindPlacemark:(MKPlacemark *)placemark
{
NSLog(@"%@",\[placemark addressDictionary\]
     }

在此处输入图像描述 这是我得到的错误...
在此先感谢

4

1 回答 1

1

错误很明显:

从不兼容的类型“id”分配给“CLLocationCoordinate2D”(又名“double”)

coordCLLocationCoordinate2D类型:

typedef struct {
    CLLocationDegrees latitude;
    CLLocationDegrees longitude;
} CLLocationCoordinate2D;

latitude是CLLocationDegrees longitude

typedef double CLLocationDegrees;

因此,您不能将 NSString (它也是一个id类型)对象分配给coord.longitudenor coord.latitude


编辑:

你应该这样做:

coord.longitude = location.coordinate.latitude;
于 2012-10-06T06:37:36.697 回答