Trong trường hợp này, tôi muốn vẽ bitmap trên Google Maps bằng cách sử dụng gms v2
và mỗi cập nhật vị trí người dùng thực thi cập nhật bitmap. Hiện tại tôi sử dụng đoạn mã sau:Vẽ lại bitmap trên Google Maps v2 cho Android
public void init(){
result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
canvas = new Canvas(result);
}
public void update(){
// draw on canvas ...
draw(result);
}
public void draw(Bitmap modifiedBmp) {
if (overlay != null) {
overlay.remove();
}
BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(modifiedBmp);
overlay = map.addGroundOverlay(new GroundOverlayOptions().image(descriptor).positionFromBounds(bounds).zIndex(100));
}
Phương thức update()
được gọi mỗi giây. Tôi thấy phương pháp này cực kỳ kém hiệu quả và tôi đang tìm kiếm giải pháp tốt hơn (tức là không yêu cầu thêm/xóa lớp phủ sau mỗi lần cập nhật). Vẽ nguyên thủy trên bản đồ bằng cách sử dụng addPolygon(...)
và addPolyline(...)
không phải là một tùy chọn vì tôi yêu cầu khả năng vẽ không có trong api tiêu chuẩn.