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;

そしてlatitudelongitudeCLLocationDegrees です:

typedef double CLLocationDegrees;

idしたがって、 NSString (どちらかの型) オブジェクトをcoord.longitudenorに割り当てることはできませんcoord.latitude


編集:

次のようにする必要があります。

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