2011-12-08 8 views
0

デフォルトとまったく同じように見えるMKAnnotationを作成したいのですが、唯一の違いはタイトルの左にアイコンがあることです。iOSマップ - アイコン付きマップキットMKAnnotation

オリジナルと同じ外観でこれを作成するためのアドバイスやコードはありますか?

ありがとうございました

答えて

0

を助けるかもしれません。あなたの質問に誤解があった場合は、「アイコン」と「タイトル」の意味をもう少し説明できますか?

注釈ビューの画像の位置を基準にして、 documentation for MKAnnotationView

calloutOffsetオフセット(ピクセル単位)れる場所に吹き出しバブル。

@property(アトミック)するCGPoint calloutOffset

議論

このプロパティ はコールアウトバブルを移動することにより、追加の距離を決定します。このプロパティを(0、0)に設定すると、 コールアウトバブルのアンカーポイントが、注釈 ビューのフレームの上の中心点に配置されます。正のオフセット値を指定すると、コールアウト がバブルダウンして右に移動し、負の値を指定すると が左上に移動します。

イメージの位置を変更することもできます。ドキュメントにもその説明があります。ただし、注釈の位置は、注釈ビューの画像の上の中心点を基準にして常に設定されます。

"アノテーションビュー"は、いくつかのプロパティと動作を持つクラスのインスタンスと考えることをお勧めします。イメージは、例えば、地図ピンとすることができる。コールアウトは一般に情報バブルとも呼ばれますが、正式にはコールアウトと呼ばれます。私はドキュメントが "注釈ビュー"と "イメージ"を交換可能に使用することによって少しうんざりだと思う。 (注釈ビューのフレームを参照して)

0

はい、これは可能です。代理人- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotationを実装する必要があります。

ここにいくつかのコードがあります。また

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation{ 
    static NSString *[email protected]"ParkingAnnotationIdentifier"; 

    if([annotation isKindOfClass:[MyAnnotationClass class]]) 
    { 
     //Try to get an unused annotation, similar to uitableviewcells 
     MKAnnotationView *annotationView=[mapView dequeueReusableAnnotationViewWithIdentifier:parkingAnnotationIdentifier]; 

     //If one isn't available, create a new one 
     if(!annotationView) 
     { 
      annotationView=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:parkingAnnotationIdentifier]; 

      //Here's where the magic happens 
      annotationView.image=[UIImage imageNamed:@"someImage.png"]; 
     } 
     return annotationView; 
    } 
    return nil; 
} 

this私が「タイトル」で、あなたは注釈ビューの吹き出しを参照している、と「アイコン」であなたは注釈ビューの画像を意味する、と仮定してい

関連する問題