Логика Выпуск - MapKit - PullRequest
       2

Логика Выпуск - MapKit

0 голосов
/ 13 февраля 2012

Вот мой MapKitDisplayViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];

        [mapView setMapType:MKMapTypeStandard];
        [mapView setZoomEnabled:YES];
        [mapView setScrollEnabled:YES];
        MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } }; 
        region.center.latitude = 22.569722 ;
        region.center.longitude = 88.369722;
        [mapView setRegion:region animated:YES]; 

        [mapView setDelegate:self];

        DisplayMap *ann = [[DisplayMap alloc] init]; 
        ann.title = [person name];
        ann.subtitle = [person address]; 
        ann.person = person;

        ann.coordinate = region.center; 
        [mapView addAnnotation:ann];
}
-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:
 (id <MKAnnotation>)annotation {
        MKPinAnnotationView *pinView = nil; 
        if(annotation != mapView.userLocation) 
        {
                static NSString *defaultPinID = @"com.invasivecode.pin";
                pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
                if ( pinView == nil ) pinView = [[[MKPinAnnotationView alloc]
                                                                                  initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
                UIImageView *iconView = [[UIImageView alloc] initWithImage: [UIImage imageWithString:@?????????????????];
                annotationView.leftCalloutAccessoryView = iconView;

                pinView.pinColor = MKPinAnnotationColorRed; 
                pinView.canShowCallout = YES;
                pinView.animatesDrop = YES;
                } 

        return pinView;
}

Вы увидите строку, где будет написано ???????? Мне нужно отобразить изображение там.

Когда пользователь нажимает на точку, появится всплывающее окно.Предполагается, что заголовок, субтитры и изображение будут отображаться во всплывающем окне.Я считаю, что следующая строка должна отображать изображение для этого всплывающего окна.Но я не могу передать URL-адрес изображения объекта Person (или pipoint, который содержит объект person) этому методу.Можете ли вы помочь мне отобразить выбранный URL изображения здесь.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012

Это то, что я сделал, в методе viewForAnnotation

DisplayMap *dm= (DisplayMap *)annotation;

NSString *url = [dm.person urlOfPerson];
0 голосов
/ 14 февраля 2012

Это не подводит. Мне нужно знать, как передать объект человеку выбранный пользователем метод viewForAnnotation

Аааа, я знаю, знаю. У меня была похожая проблема, и это может быть сложно. Я как раз в процессе доработки своего кода аннотации, так что вы можете увидеть его, так как он не работает, но мне нужно сохранить что-то, что вы сможете потом извлечь.

Я сделал объект, MKAnnotation.

@interface FotoMapLocation : NSObject <MKAnnotation> {

Поэтому, когда я делаю аннотацию, я создаю объект FotoMapLocation.

    FotoMapLocation *annotation = [[FotoMapLocation alloc] initWithTitle:title 
                                                            subtitle:subtitle 
                                                                foto:aFoto 
                                                      thumbnailImage:aFoto.thumbnailImage
                               ];
    [mapView addAnnotation:annotation]; 

Теперь вы можете хранить что угодно здесь. Поэтому сохраняйте объект Person в своем подклассе.

Я знаю, что это только на полпути, и очень бессвязно. Но я был как раз в процессе извлечения этого кода, а затем возник другой пожар, так что в настоящее время он находится в промежуточном состоянии. Но я рассчитываю вернуться к нему через несколько дней. Я проверю, и если у вас ничего не будет, я обновлю этот ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...