MKMapView でカスタムの注釈と吹き出しを作成したいと考えています。より大きなサイズの注釈を作成する必要があり、3 行または 4 行のテキスト (ラベル) を表示する必要があります。では、カスタムの注釈と吹き出しの吹き出しを作成する方法について説明します。
前もって感謝します。
アシッシュ
MKMapView でカスタムの注釈と吹き出しを作成したいと考えています。より大きなサイズの注釈を作成する必要があり、3 行または 4 行のテキスト (ラベル) を表示する必要があります。では、カスタムの注釈と吹き出しの吹き出しを作成する方法について説明します。
前もって感謝します。
アシッシュ
3 つのメソッドだけを再実装する必要があります。
注釈をカスタマイズするには、次を使用します。
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation
ここに必要なサブビューを追加するだけです
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
ここで、カスタム callOutView を superView から削除するだけです
- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
詳しくはこちらのブログをチェック
これを使用できます。
- (MKAnnotationView *)mapView:(MKMapView *)newMapView viewForAnnotation:(id )newAnnotation {
MKAnnotationView *a = [ [ MKAnnotationView alloc ] initWithAnnotation:newAnnotation reuseIdentifier:@"PinView"];
if ( a == nil )
a = [ [ MKAnnotationView alloc ] initWithAnnotation:newAnnotation reuseIdentifier: @"PinView" ];
a.image = [ UIImage imageNamed:@"Image.png" ];
a.canShowCallout = YES;
a.rightCalloutAccessoryView = [ UIButton buttonWithType:UIButtonTypeDetailDisclosure ];
UIImageView *imgView = [ [ UIImageView alloc ] initWithImage:[ UIImage imageNamed:@"Image.png" ] ];
a.leftCalloutAccessoryView = imgView;
return a;
}