@Override
    protected void dispatchDraw(final Canvas canvas) {
        canvas.save();
        super.dispatchDraw(canvas);
        canvas.restore();
        // cannot be in draw(), would not work
        scaleDrawer.drawScale(canvas, this);
        if (distanceDrawer != null) {
            distanceDrawer.drawDistance();
        }
    }
can be made static if nonstatic inner clases could have static methods
main/src/main/java/cgeo/geocaching/maps/google/v2/GoogleMapView.java