code: @Override
  	public Projection getProjection() {
  		if (mProjection == null) {
  			mProjection = new Projection(this);
  			mProjection.adjustOffsets(mMultiTouchScaleGeoPoint, mMultiTouchScaleCurrentPoint);
  			if (mScrollableAreaLimitLatitude) {
  				mProjection.adjustOffsets(
  						mScrollableAreaLimitNorth, mScrollableAreaLimitSouth, true,
  						mScrollableAreaLimitExtraPixelHeight);
  			}
  			if (mScrollableAreaLimitLongitude) {
  				mProjection.adjustOffsets(
  						mScrollableAreaLimitWest, mScrollableAreaLimitEast, false,
  						mScrollableAreaLimitExtraPixelWidth);
  			}
  			mImpossibleFlinging = mProjection.setMapScroll(this);
  		}
  		return mProjection;
  	}
docs: Get a projection for converting between screen-pixel coordinates and latitude/longitude
  coordinates. You should not hold on to this object for more than one draw, since the
  projection of the map could change.
  
  @return The Projection of the map in its current state. You should not hold on to this object
  for more than one draw, since the projection of the map could change.