我正在MKMapView上绘制用户位置路径,我想知道什么是更好的方法。
目前我正在收集位置管理器中的所有位置数据,我每秒都会重新绘制整个叠加层。
- (void)showLines {
NSArray *locations = [[SHLocationManager sharedInstance] locations];
CLLocationCoordinate2D *pointsCoordinate = (CLLocationCoordinate2D *)malloc(sizeof(CLLocationCoordinate2D) * locations.count);
[locations enumerateObjectsUsingBlock:^(CLLocation *location, NSUInteger idx, BOOL *stop) {
pointsCoordinate[idx] = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude);
}];
MKPolyline *polyline = [MKPolyline polylineWithCoordinates:pointsCoordinate count:locations.count];
free(pointsCoordinate);
[self.mapView removeOverlays:self.mapView.overlays];
[self.mapView addOverlay:polyline];
}
- (MKPolylineRenderer *)mapView:(MKMapView *)mapView viewForOverlay:(id)overlay{
MKPolylineRenderer *polylineView = [[MKPolylineRenderer alloc] initWithPolyline:overlay];
polylineView.strokeColor = [UIColor colorWithRed:0.17 green:0.57 blue:0.85 alpha:1];
polylineView.lineWidth = 8.0;
polylineView.alpha = 1;
return polylineView;
}
为我从位置经理那里得到的每一对点画一条线是否更好?
它会创建多个叠加层 - 不知道它会如何影响性能。
您认为哪个更好?