Tôi đang sử dụng API MapKit cho iOS 7 để tạo các chuyển động camera 3D trên bản đồ hiển thị đường dẫn được tạo ra MKDirectionsRequest. Đường dẫn được hiển thị bởi MKOverlayRenderer như sau:MKPolylineRenderer tạo ra các đường lởm chởm, không cân bằng
-(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;
}
Nó hoạt động tốt ngoại trừ một vấn đề. Khi tôi phóng to hoặc chảo xung quanh con đường với MKMapCameras (và nếu không có họ, nếu tôi chỉ đơn giản là làm như vậy như là người dùng), con đường là lởm chởm như trong ảnh chụp màn hình này:
Tôi đã thử nghiệm để xem nếu chuyển đổi để MKOverlayLevelAboveLabels tạo sự khác biệt nhưng đáng buồn là kết quả là như nhau.
Có ai có đề xuất về cách cải thiện hiển thị không? Việc chuyển sang một đường dẫn trắc địa có tạo ra sự khác biệt hay không và nếu có, tôi sẽ thực hiện điều này ở đây như thế nào?
Chuyển sang MKGeodesicPolyline không tạo sự khác biệt ence nhưng nó được tạo ra theo cùng một cách như MKPolyline ngoại trừ bạn gọi polylineWithXXX trên MKGeodesicPolyline tuy nhiên trình kết xuất vẫn là MKPolylineRenderer. – Anna