0

如果 == nil,则尝试将 pin 位置的地址设置为注释字幕。但什么也没有发生。

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

您的代码正在发生的事情是地理编码器是异步操作。在地理编码完成之前放置您的图钉。根据您的代码设置方式,您可能会在地理编码完成之前丢失对您的 pin 的引用。在创建注释之前尝试对地标进行地理编码。

于 2012-06-05T17:22:49.290 回答