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