2012-11-13 6 views
7

私には2つの質問があります。まず第一に、座標のメモリを割り当てたら、以下のコードを参照してください。メモリを解放する必要がありますか?次に、コードの下にあるように、オーバーレイを取得してマップに追加します。ただし、異なるタイムスタンプが座標を供給し、マップを更新する必要があります。異なるタイムスタンプでオーバーレイ形状を変更するレーダーマップのように。これは最初は非常にうまく更新されています。ただし、ユーザーがズームアウトしてズームインすると、点滅またはちらつきが始まります。なぜこのちらつきが起こるのだろうか?誰もその前にその問題を経験していますか?ズームアウトして拡大表示した後にMapOverlayが点滅する-iOS

NSArray *ants = [mapView overlays]; 
for(bb = 0; bb < [polygonArray count]; bb++){ 
     int attr=[[idArray objectAtIndex:bb]floatValue]; 


     coords = malloc(sizeof(CLLocationCoordinate2D) * [[polygonArray objectAtIndex:bb] count]); 
     for (int a = 0;a < [[polygonArray objectAtIndex:bb] count]; a++){ 
      coords[a].latitude = [[[[polygonArray objectAtIndex:bb]objectAtIndex:a]objectAtIndex:0]doubleValue]; 
      coords[a].longitude = [[[[polygonArray objectAtIndex:bb]objectAtIndex:a]objectAtIndex:1]doubleValue]; 
     } 
     polygon = [[MKPolygon alloc]init]; 
     polygon = [MKPolygon polygonWithCoordinates:coords count:[[polygonArray objectAtIndex:bb]count]]; 
     //free(coords); 
     [previousPolygons addObject:polygon]; 

      } 
     [mapView addOverlay:polygon]; 
     } 

    } 
[mapView removeOverlays:ants]; 
+1

はい、あなたはあなたが割り当てられたメモリを解放する必要がありますが、あなたはそれぞれについて答えを得るかもしれないし、正しいものとしてマークすることができるので、SOで同じ質問を2回尋ねたり、 – Craig

答えて

2

ダウンロードりんご

BreadCrumbs Demo

アプリケーション。
このデモを使用すると、タスクを実行するための推奨技術が表示されます。
私はこのデモを自分のアプリケーションで使用しましたが、それは魅力的に機能しました。

MkPolygonのアプローチは、大きなポリゴンではうまく動作せず、ポリゴンを変更することもできません。

+0

iphone 5でテストした後は、プロセッサスピードのためにちらついてしまいました。私はこのちらつきを防ぐ方法を知らない! BreadCrumbの例を実装すれば、問題は解決すると思いますか? –

+0

ブレッドクラムデモをiphone 5で試してみてください。私ははい、それはパンくずリストで技術を使用するための良いアイデアになると信じています – AlexWien

+0

ああ今私が見る、Mkpolygonでそれは動作しません、それはちらつきます! – AlexWien

2

iOS 6.1(iPad 3)でBreadCrumbsデモをテストしたところ、ちらつきがありました。これは新しいMKMapView(悲しい)のバグです。私はAppleにバグを提出した。

+0

この問題もあります。 MKPolygonまたは独自のポリゴンオーバーレイを追加するかどうかにかかわらず、MKMapViewにオーバーレイを追加するときに画面がちらつき(再描画)することがわかりました。 私たちはまた、網膜ディスプレイとズームレベルN.0001〜N.5(N.5とN.0の間には問題ありません)間のiPadsでのみ発生することに気付きました。 問題追跡ツールで問題を追跡するためのリンクがありますので、+1することができますか? –

+0

私たちの場合は、iOS 5.1と6.1の両方で発生します。 –

+0

私は同じ問題を抱えています。フリッカーは特定のズームレベルで始まります。その前に問題はありません。 iOS 8.3を実行している私のiPhone6では、iOS 8.3を実行しているiPad Mini 1に問題はありません。 誰かが解決策を見つけましたか? – user1057831

関連する問題