Попробуйте это. Замените ваш метод onDraw () на этот:
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
super.draw(canvas, mapView, shadow);
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
for(int i=0;i<markerList.size();i++) {
canvas.drawBitmapbmp(markerList.get(i), screenPts.x + 25, screenPts.y - 50,null);
}
return false;
}
и добавьте этот метод к вашему классу наложения, а также создайте markerList в верхней части вашего класса наложения.
public boolean onTap(GeoPoint p, MapView map) {
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
// ---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.marker);
markerList.add(bmp);
return true;
}