@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;
	}
@ 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 ; }
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.