1

MKAnnotationにカスタム値を追加しようとしています。場所の一意のIDを保存してもらいたいのですが。タイトルとサブタイトルで注釈を設定するための私のコードは、次のように機能します。

location.latitude = [dictionary[@"placeLatitude"] doubleValue];
location.longitude = [dictionary[@"placeLongitude"] doubleValue];

newAnnotation = [[MapViewAnnotation alloc] initWithTitle:dictionary[@"placeName"]
                                               andCoordinate:location];

newAnnotation.subtitle = dictionary[@"placeCity"];

「placeId」などのカスタムプロパティを追加するにはどうすればよいですか?これは私が持っているものです:

newAnnotation.placeId=dictionary[@"placeId"];

どんな助けでも素晴らしいでしょう。ありがとうございました!

4

2 に答える 2

2

MapViewAnnotationがMKAnnotation/MKAnnotationViewのサブクラスである場合は、そのプロパティを作成し、合成して使用します。そうでない場合は、MKAnnotationViewを介してカテゴリを作成します。

カテゴリクラスを作成する手順は次のとおりです。

  1. プロジェクトを右クリックし、「新しいファイル」を選択します
  2. CacoaTouch>Objective-Cカテゴリ>次へ
  3. カテゴリを指定:category_name&Category on:category_on_class
  4. .hファイルでplaceIdのプロパティを作成するだけです
  5. .mで@dynamicを使用して合成します
  6. その.hファイルをあなたのファイルにインポートします。

次に、そのクラスの「classObject」オブジェクトに「classObject.placeId」プロパティを設定できます。

于 2013-02-13T08:12:08.880 に答える
1

Bhargaviが言ったことを実行しますが、MapViewAnnotation.mとMapViewAnnotation.hに対して実行します。

于 2013-02-14T08:26:06.753 に答える