sanitize map scale input

This commit is contained in:
Hannes Janetzek 2013-01-21 03:09:36 +01:00
parent e21831ceb9
commit 70e6266319

View File

@ -499,6 +499,12 @@ public class MapViewPosition {
*/ */
public synchronized boolean scaleMap(float scale, float pivotX, float pivotY) { public synchronized boolean scaleMap(float scale, float pivotX, float pivotY) {
// sanitize input
if (scale < 0.5)
scale = 0.5f;
else if (scale > 2)
scale = 2;
float newScale = mMapScale * scale; float newScale = mMapScale * scale;
int z = FastMath.log2((int) newScale); int z = FastMath.log2((int) newScale);
@ -599,10 +605,6 @@ public class MapViewPosition {
mZoomLevel = MIN_ZOOMLEVEL; mZoomLevel = MIN_ZOOMLEVEL;
} }
synchronized void setScale(float scale) {
mScale = scale;
}
private void updatePosition() { private void updatePosition() {
mPosX = MercatorProjection.longitudeToPixelX(mLongitude, mZoomLevel); mPosX = MercatorProjection.longitudeToPixelX(mLongitude, mZoomLevel);
mPosY = MercatorProjection.latitudeToPixelY(mLatitude, mZoomLevel); mPosY = MercatorProjection.latitudeToPixelY(mLatitude, mZoomLevel);