我正在使用iOS 7 MapKit API在地图上显示MKDirectionsRequest生成路径,并产生3D相机动画效果。MKOverlayRenderer将路径渲染如下:
-(void)showRoute:(MKDirectionsResponse *)response
{
for (MKRoute *route in response.routes)
{
[self.map
addOverlay:route.polyline level:MKOverlayLevelAboveRoads];
}
}
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id < MKOverlay >)overlay
{
MKPolylineRenderer *renderer =
[[MKPolylineRenderer alloc] initWithOverlay:overlay];
UIColor *mapOverlayColor = [UIColor colorWithRed:((float)22 / 255.0f) green:((float)126 / 255.0f) blue:((float)251 / 255.0f) alpha:0.8];
renderer.strokeColor = mapOverlayColor;
renderer.lineWidth = 13.0;
return renderer;
}
除一个问题外,一切都运行良好。当我使用MKMapCameras缩放或平移路径(如果我只是作为用户这样做),路径会呈现出如屏幕截图中所示的锯齿状:
我测试了一下是否将其转换为MKOverlayLevelAboveLabels能有所改善,但遗憾的是结果仍然相同。
有没有人有任何建议来改善渲染效果?转换为大地线路径是否有所不同,如果是,我应该如何在这里实现?