4

注釈の場所を異なる座標で更新しようとすると問題が発生します。別の注釈を作成せずに場所のプロパティを変更する方法はありますか? 以下のコードを試してみましたが、うまくいきませんでした。取得しようとしている注釈は、その場所を更新していません。助けてください!

CLLocationCoordinate2D location;
location.latitude = -36.560976;
location.longitude = -59.455807; 

for (id annotation in self.mapView.annotations) {

    if ([annotation isKindOfClass:[MyAnnotation class]]) 
    {
            [annotation setCoords:location]; //setCoords is defined in MyAnnotation class
            }
    }

皆さん、ありがとうございました!

4

4 に答える 4

3

MKPointAnnotation を拡張します。マップ上の注釈ビューを新しい座標に自動的に更新する機能があります。

@interface MyAnnotation : MKPointAnnotation
于 2014-04-26T19:24:29.083 に答える
-1

座標を変更した後、注釈を削除して再度追加するか、新しい注釈に置き換える必要があります。MapKit は、注釈が変更可能であるとは想定していません。

于 2010-05-22T05:50:50.470 に答える
-1

マップ上のアノテーションの位置を更新するために、アノテーションを削除してから再度追加する必要はありません。

注釈を追加した MapView は、場所の変更を処理する必要があります。これ以上コードを見ないで、あなたが抱えている問題は、注釈がlocation変数ではなく変数を使用している可能性があると思いcoordinateます。

CLLocationCoordinate2D coordinateMKAnnotation プロトコルでは、アノテーション クラスにインスタンス変数を実装する必要があります。また、座標プロパティを合成することもお勧めします。

CLLocationCoordinate2D coordinateインスタンス変数とそれに対応するプロパティ@property (assign, nonatomic) CLLocationCoordinate2D coordinateをアノテーション クラス .h ファイルに追加してみてください。次に@synthesize、注釈クラス .m ファイルで a を使用します。

これで問題が解決しない場合は、質問に詳細を追加する必要がある場合があります。

于 2011-01-19T23:02:00.500 に答える
-1

MKAnnotation をマップに追加/削除せずに移動するには?

于 2011-02-16T13:59:30.030 に答える