2017-07-28 8 views
0

enter image description hereは私の方法ポリラインではnil

へのObjective-Cでのポインタアドレスを設定し、マップマーカーを移動している毎回描かれています。 Google MapsのiOSドキュメントの設定に従って、ポリラインをnilに設定するとポリラインが削除されます。

私はマーカ移動した後、ポリラインが残って発火することを行います。

GMSPolylineは、削除する行のポインタアドレスがある場合にのみ削除できます。これは、apiがグローバルに宣言されていても毎回別のインスタンスが作成されるためです。

私はポインタまたはアドレスについて多くを知りません。どのようにしてポインタアドレスを取得するのですか?いったん取得すれば、そのアドレスでどのようにオブジェクトを参照するのですか?

私はこのようなアドレスを取得することができます:私は基本的に

0x600000d36f80 0x620000d2dfc0 0x608001538560 

:変数は、私は別のアドレスにGMSPolylineため、各時刻を取得グローバルに宣言されていてもメソッドが呼び出される毎回

NSString *addressRight = [NSString stringWithFormat:@"%p",polylineRightPreview]; 

GMSPolyline *polyline = nil; 

しかし、正確なポインタアドレスoを参照する必要がありますf最後に作成されたもの。あなただけのそれはそれは自身のポインタアドレスのしているマップに追加された後ポリライン= nilの何が原因で起こりません呼び出す場合はどのように

0x600000d36f80 to nil? 

を設定してください。また、map clear関数を呼び出すことは、他のすべてのマップオブジェクトを削除して再描画することが適切でないため、有用ではありません。

答えて

1

あなたは、それらのポリラインを削除し、配列&を反復処理したい場合、配列&に追加ポリラインオブジェクトを持つ作品

polyline.map = nil 
+0

を設定します。配列が基本的にポインタアドレスのインデックスであるという事実を含めるために、あなたの答えを記入してください。私は賞金を授与します。ポインタアドレスを参照する唯一の方法と思われます。ありがとう! – johnsonjp34

関連する問題