2010-05-12 33 views
7

Tôi cần vẽ lại lớp phủ sau khi người dùng phóng to.
Cách tốt nhất để làm điều này là gì?
Tôi đã thử mọi thứ tôi có thể nghĩ đến (lưu trạng thái getZoomLevel(), ghi đè lênUserInteraction()), không có gì thực sự hiệu quả.
Vấn đề là vẽ() đang được gọi khi người dùng nhấp vào thu phóng, do đó thông tin mà phương pháp vẽ của tôi nhận được (Giới thiệu về trạng thái của bản đồ) khác với trạng thái sau khi chế độ xem bản đồ kết thúc thu phóng.
Ngoài ra, vẽ() không được gọi ở cuối quá trình thu phóng, vì vậy chỉ khi tôi xoay bản đồ lớp phủ thực sự được vẽ chính xác.Phóng sự kiện hoạt động trong Android Mapview

Trả lời

2

Vì không ai trả lời câu hỏi này trong 7 tháng, tôi sẽ viết những gì tôi đã làm.

Tôi đã sử dụng Trình xử lý để làm mới bản đồ theo cách thủ công sau 500ms, nó hoạt động tốt.

Handler handler; 
handler.postDelayed(refreshRoute, 500); 
0

Bạn đã thử gọi mapview.postInvalidate() sau khi thu phóng chưa?

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