внесите это изменение: вы не можете рисовать на неизменном растровом изображении, вместо этого вы можете создать один
Bitmap mapBitmap = BitmapFactory.decodeStream(stream);
//make a new mutable bitmap
Bitmap map = createBitmap(mapBitmap.getWidth(), mapBitmap.getHeight(),mapBitmap.getConfig());
//copy the pixel to it
int [] allpixels = new int [ mapBitmap.getHeight()*mapBitmap.getWidth()];
mapBitmap.getPixels(allpixels, 0, mapBitmap.getWidth(), 0, 0, mapBitmap.getWidth(),mapBitmap.getHeight());
map.setPixels(allpixels, 0, mapBitmap.getWidth(), 0, 0, mapBitmap.getWidth(), mapBitmap.getHeight());
Canvas canvas = new Canvas(map);
затем начните рисовать