デフォルトとまったく同じように見えるMKAnnotationを作成したいのですが、唯一の違いはタイトルの左にアイコンがあることです。iOSマップ - アイコン付きマップキットMKAnnotation
オリジナルと同じ外観でこれを作成するためのアドバイスやコードはありますか?
ありがとうございました
デフォルトとまったく同じように見えるMKAnnotationを作成したいのですが、唯一の違いはタイトルの左にアイコンがあることです。iOSマップ - アイコン付きマップキットMKAnnotation
オリジナルと同じ外観でこれを作成するためのアドバイスやコードはありますか?
ありがとうございました
を助けるかもしれません。あなたの質問に誤解があった場合は、「アイコン」と「タイトル」の意味をもう少し説明できますか?
注釈ビューの画像の位置を基準にして、 documentation for MKAnnotationView:
calloutOffsetオフセット(ピクセル単位)れる場所に吹き出しバブル。
@property(アトミック)するCGPoint calloutOffset
議論
このプロパティ はコールアウトバブルを移動することにより、追加の距離を決定します。このプロパティを(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私が「タイトル」で、あなたは注釈ビューの吹き出しを参照している、と「アイコン」であなたは注釈ビューの画像を意味する、と仮定してい