0

== nil の場合、ピン位置のアドレスを注釈サブタイトルに設定しようとしています。しかし、何も起こりません。

if (myAnnotation.subtitle == nil)
                    [self.geoCoder reverseGeocodeLocation: locationManager.location completionHandler: 
                     ^(NSArray *placemarks, NSError *error) {

                         CLPlacemark *placemark = [placemarks objectAtIndex:0];
                         NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "];  
                         myAnnotation.subtitle = locatedAt;

                     }];   
                else {
                    myAnnotation.subtitle = [[ann objectAtIndex:i] objectForKey:@"Address"];
                }
4

1 に答える 1

0

コードで行われていることは、ジオコーダーが非同期操作であることです。ジオコードが完了する前にピンが配置されています。コードの設定方法によっては、ジオコードが完了する前にピンへの参照が失われる場合があります。注釈を作成する前に、目印をジオコーディングしてみてください。

于 2012-06-05T17:22:49.290 に答える