1

現在の座標に注釈を追加しようとしているMapViewがあります。

viewWillAppearの私のコード:

CLLocationCoordinate2D location;
location.latitude = [maps.barLat doubleValue];
location.longitude = [maps.barLong doubleValue];
[_mapView addAnnotation:location];

私はそれでエラーが発生してaddAnnotationいます

互換性のないタイプMKAnnotationのパラメーターにCLLocationCoordinate2Dを送信します。

私が見る他のすべての例は、このコードに問題はありません、私は何が欠けていますか?

4

1 に答える 1

3

AppleのAPIドキュメントを見ると、addAnnotation:メソッドはでid<MKAnnotation>はなく、を取りますCLLocationCoordinate2D。それがあなたのエラーの理由です。

派手なベルやホイッスルのない単純な注釈が必要な場合は、次のようにします。

CLLocationCoordinate2D location;
location.latitude = [maps.barLat doubleValue];
location.longitude = [maps.barLong doubleValue];
MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
annotation.coordinate = location;
[_mapView addAnnotation: annotation];

MKAnnotationただし、ほとんどの人は、カスタムアノテーションを提供するために、プロトコルを実装する独自のクラスを作成することになります。ただし、必要なのがピンだけの場合は、上記が機能します。

于 2012-07-20T02:15:30.440 に答える