2010-11-15 30 views
9

Tôi có một MKOverlayView hiển thị dữ liệu radar hoạt hình dưới dạng một loạt hình ảnh. Vấn đề tôi có là hình ảnh ra-đa được MapKit cắt thành lát. Để trao đổi hình ảnh Tôi đã hẹn giờ mà các cuộc gọi một chức năng cập nhật mà đặt hình ảnh hiện tại trong lớp phủ của tôi và sau đó gọiHoạt hình một MKOverlayView

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect]; 

Các cập nhật lớp phủ sau, nhưng làm như vậy một gạch tại một thời điểm vì vậy tôi có được một hình ảnh động choppy . Bất kỳ ý tưởng nào về cách làm cho tất cả các hình ảnh động hoạt hình (tức là hình ảnh trao đổi) cùng một lúc?

+0

Bạn đã bao giờ tìm ra một cách goodf để làm điều này? –

Trả lời

6

Tôi đã giải quyết vấn đề này bằng cách thêm UIImageView làm chế độ xem phụ của MKOverlayView.

  • Để động, ngừng vẽ với bình thường drawMapRect: zoomScale: InContext: (thông qua một instance variable/sở hữu cờ) và bốc thăm vào UIImageView thay vì (để tài sản animationImages), sau đó sử dụng startAnimating.

  • Bạn có thể xử lý panning và phóng to bằng reinitializing các UIImageView trong đối phó với MapView: regionDidChangeAnimated :.

+2

Tôi đang đập đầu của tôi trên này quá, bạn có một số mã mẫu để chia sẻ? Tôi nghĩ rằng tôi không đặt khung/giới hạn đúng khiến cho UIImageView không được hiển thị. – botteaap

+0

Bạn có một số mã mẫu bạn có thể chia sẻ không? Cảm ơn! – sridvijay

+0

Tôi đã có thể sử dụng mã này tại đây: https://github.com/yickhong/YHMapDemo và mã này tại đây: http://code.google.com/p/sugartin-info/downloads/detail?name=RadarOverLay. zip & can = 2 & q kết hợp với nhau để có được kết quả được mô tả trong câu trả lời này. – sridvijay

0

Có gọi lại khi tất cả các ô đã tải xong không? Nếu vậy, bạn có thể đi với chế độ đệm đôi và cập nhật chế độ xem ngoài màn hình rồi sau đó chuyển sang chế độ xem.

Các vấn đề liên quan