Core Location フレームワークを使用してユーザーの動きを追跡するフィットネス アプリケーションを構築しています。Core Data フレームワークを使用してデータを保存しています。現在、私は 2 つのエンティティを持っています。ワークアウトと場所。Workout は、主な属性として緯度と経度を持つこれらの Location オブジェクトで構成されます。
これらの Location オブジェクトから MKPolyLine を作成しようとすると、デバイスで非常に多くの時間がかかります。
- (void)createRouteLineAndAddOverLay
{
CLLocationCoordinate2D coordinateArray[[self.workout.route count]];
for (int i = 0; i < [self.workout.route count]; i++) {
CLLocationCoordinate2D coordinate;
coordinate.latitude = [[[self.workout.route objectAtIndex:i] latitude] doubleValue];
coordinate.longitude = [[[self.workout.route objectAtIndex:i] longitude] doubleValue];
coordinateArray[i] = coordinate;
}
self.routeLine = [MKPolyline polylineWithCoordinates:coordinateArray count:[self.workout.route count]];
[self.mapView addOverlay:self.routeLine];
[self setVisibleMapRect];
}
スカラーを使用すると、パフォーマンスが向上しますか? または、保存するときに何らかのアルゴリズムを使用して、これらの場所のポイントの一部を除外する必要がありますか?