aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java
diff options
context:
space:
mode:
authorcampbeb <bpcampbell@gmail.com>2012-05-22 14:14:08 -1000
committercampbeb <bpcampbell@gmail.com>2012-05-22 14:14:08 -1000
commit3c23e89952eb834fcb71fc6d869ecd3b7eb4d87c (patch)
tree309d814222463f1e6431ec2262ef949384ff56ce /main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java
parent4453f08ccda762f1c608feaf6cf379d1ffa93df4 (diff)
downloadcgeo-3c23e89952eb834fcb71fc6d869ecd3b7eb4d87c.zip
cgeo-3c23e89952eb834fcb71fc6d869ecd3b7eb4d87c.tar.gz
cgeo-3c23e89952eb834fcb71fc6d869ecd3b7eb4d87c.tar.bz2
Fix offline zoom issue and document zoom level differences
Google Maps and OSM Maps use different zoom levels for the same view ranges. This is better documented. Additionally, this change fixes zooming out causing zoom in (Issue #1485).
Diffstat (limited to 'main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java')
-rw-r--r--main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java
index db81609..5aaecc8 100644
--- a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java
+++ b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapController.java
@@ -26,13 +26,15 @@ public class MapsforgeMapController implements MapControllerImpl {
mapController.setCenter((GeoPoint) geoPoint);
}
+ /**
+ * Set the map zoom level to mapzoom-1 or maxZoomLevel, whichever is least
+ * mapzoom-1 is used to be compatible with Google Maps zoom levels
+ */
@Override
public void setZoom(int mapzoom) {
- int mfzoom = mapzoom - 1;
- if (mfzoom > maxZoomLevel) {
- mfzoom = maxZoomLevel;
- }
- mapController.setZoom(mfzoom);
+ // Google Maps and OSM Maps use different zoom levels for the same view.
+ // All OSM Maps zoom levels are offset by 1 so they match Google Maps.
+ mapController.setZoom(Math.min(mapzoom - 1, maxZoomLevel));
}
@Override