Tôi đang làm việc trên một ứng dụng hiển thị vị trí của các mục đang di chuyển trên Google MapView. Tôi cần một cách để cập nhật vị trí của các biểu tượng đại diện cho các mục (cũng như thay đổi khuôn mặt của các biểu tượng sau mỗi hai giây khi dữ liệu cập nhật có sẵn).Di chuyển các biểu tượng trên Android MapView
Tôi hiện đang có một hoạt động trong ứng dụng mở rộng MapActivity. Về điều này tôi đã phủ lên một Lớp phủ tĩnh vẽ một số dòng trên bản đồ và một ItemizedOverlay vẽ một biểu tượng tĩnh.
Có một phương thức draw() tuyên bố sẽ được sử dụng bởi lớp phủ hoạt ảnh, nhưng việc ghi đè nó để làm hoạt ảnh của tôi vẫn không tạo ra bất kỳ thứ gì hoạt hình.
Tôi có cần phải nói cho ứng dụng làm cho lớp phủ của tôi hoạt ảnh hoặc tôi có cần sử dụng loại lớp phủ khác không?
Tôi đã xem xét tùy chọn vô hiệu. Từ những gì tôi đã đọc, nó có thể trở nên tồi tệ về hiệu suất, nhưng tôi sẽ cho nó một shot. Điều tôi tự hỏi là: làm cách nào để vô hiệu hóa lớp phủ ~ 20 lần mỗi giây để tạo hiệu ứng động các biểu tượng từ vị trí này đến vị trí khác? – Hober
có thể bạn nên xem xét sử dụng một chuỗi hẹn giờ, hãy xem http://www.anddev.org/viewtopic.php?t=126 –
Tôi đã kết thúc bằng cách sử dụng Chế độ xem thông thường và postInvalidating nó từ một TimerThread để cung cấp cho tôi các bản cập nhật. Khi điều đó xảy ra, tôi không muốn bản đồ được vẽ lại mọi khung hình, chỉ các đối tượng chuyển động trên chế độ xem khác này, vì vậy tôi đang tìm cách sử dụng bộ nhớ cache vẽ để lưu MapView. Điều đó nói rằng, câu trả lời của bạn về chủ đề hẹn giờ là khá nhiều quyền. Nó cho phép bạn lên lịch làm mới cho số lần cố định mỗi giây để bạn có thể đảm bảo tốc độ khung hình tốt mà không hiển thị mọi khung có thể. – Hober