use internal zoomLevel limits for now

This commit is contained in:
Hannes Janetzek 2012-11-26 12:44:05 +01:00
parent 7f598f5ccf
commit 74b5de13b8
2 changed files with 19 additions and 9 deletions

View File

@ -552,13 +552,13 @@ public class MapView extends RelativeLayout {
return true;
}
byte limitZoomLevel(byte zoom) {
if (mMapZoomControls == null)
return zoom;
return (byte) Math.max(Math.min(zoom, getMaximumPossibleZoomLevel()),
mMapZoomControls.getZoomLevelMin());
}
// byte limitZoomLevel(byte zoom) {
// if (mMapZoomControls == null)
// return zoom;
//
// return (byte) Math.max(Math.min(zoom, getMaximumPossibleZoomLevel()),
// mMapZoomControls.getZoomLevelMin());
// }
/**
* Sets the center and zoom level of this MapView and triggers a redraw.

View File

@ -537,17 +537,27 @@ public class MapViewPosition {
}
synchronized void setMapCenter(MapPosition mapPosition) {
mZoomLevel = mMapView.limitZoomLevel(mapPosition.zoomLevel);
//mZoomLevel = mMapView.limitZoomLevel(mapPosition.zoomLevel);
setZoomLevelLimit(mapPosition.zoomLevel);
mMapScale = 1 << mZoomLevel;
setMapCenter(mapPosition.lat, mapPosition.lon);
}
synchronized void setZoomLevel(byte zoomLevel) {
mZoomLevel = mMapView.limitZoomLevel(zoomLevel);
//mZoomLevel = mMapView.limitZoomLevel(zoomLevel);
setZoomLevelLimit(zoomLevel);
mMapScale = 1 << mZoomLevel;
updatePosition();
}
private void setZoomLevelLimit(byte zoomLevel) {
mZoomLevel = zoomLevel;
if (mZoomLevel > MAX_ZOOMLEVEL)
mZoomLevel = MAX_ZOOMLEVEL;
else if (mZoomLevel < MIN_ZOOMLEVEL)
mZoomLevel = MIN_ZOOMLEVEL;
}
synchronized void setScale(float scale) {
mScale = scale;
}