2012-02-13 16 views
0

次は、それは私がそこに画像を表示する必要が????????を言うよラインが表示されます私のMapKitDisplayViewController.mロジックの問題 - MapKit

- (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; 
} 

です。

ユーザーがピンポイントをクリックすると、ポップアップが表示されます。タイトル、サブタイトル、画像がポップアップに表示されると仮定します。次の行にそのポップアップのイメージが表示されるはずです。しかし、私はこのメソッドにPersonオブジェクト(またはpersonオブジェクトを含むpipoint)イメージURLを渡すことができません。ここで選択した画像URLを表示するのを手伝ってください。

+0

に????? Sを取り除くと私たちに失敗し、それが失敗した正確にどのように教えてくれるのコードを示して、私がやったことです。 –

+0

これは失敗しません。私は、ユーザーが選択した 'person'オブジェクトを' viewForAnnotation'メソッドに渡す方法を知る必要があります。 – shajem

答えて

0

これはviewForAnnotation方法

DisplayMap *dm= (DisplayMap *)annotation; 

NSString *url = [dm.person urlOfPerson]; 
0

これは失敗しません。私は人オブジェクトを渡す方法を知る必要があります。ユーザーがviewForAnnotationメソッドに選択した

ああ、私は知っています。私も同様の問題を抱えていましたが、それは難しいことです。私は注釈コードを改訂している途中であるので、それは動作しないので見えますが、後で取り出せるようなものを保存する必要があります。

私はオブジェクトMKAnnotationを作成しました。

@interface FotoMapLocation : NSObject <MKAnnotation> { 

私はアノテーションを作成するときに、FotoMapLocationオブジェクトを作成します。今

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

、あなたはここで何を保存することができます。そのため、Personオブジェクトをサブクラスに格納します。

私はこれが途中にあり、非常に散歩していることを知っています。しかし、私はそのコードを切り取っている途中で、別の火災が起きたので、現在は中間の状態です。しかし、私は数日でそれに戻ることを期待しています。私は戻ってきます。あなたが何も持っていなければ、私はこの答えを更新します。

+0

したがって、ユーザーが 'viewForAnnotation'メソッドに選択した' person'オブジェクトを渡す他の方法はありませんか? – shajem

+0

ええ、私はあなたが意味するものを参照してください。あなたは既に私が提案したことをしている、あなたの "人物"オブジェクトはすでに注釈に入っています。タイトルまたはサブタイトルは一意ですか?そのような場合は、NSMutableDictionaryをキーとしてタイトルまたはサブタイトルを使用してください。その人のオブジェクトを取得しますか?私のコードが今働いてくれることを願い、私はちょうどあなたにそれを与えるだろう。しかし、少なくとも今週はVC資金調達の準備に1週間はかかります。 –

+0

解決策が見つかりました。私は答えとしてそれを含めました。見て、それが助けてくれることを願ってください。そしてVC資金調達のための幸運: – shajem

関連する問題