diff options
Diffstat (limited to 'src/cgeo/geocaching/mapsforge/mfMapController.java')
| -rw-r--r-- | src/cgeo/geocaching/mapsforge/mfMapController.java | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/src/cgeo/geocaching/mapsforge/mfMapController.java b/src/cgeo/geocaching/mapsforge/mfMapController.java index 932e640..f31d9b2 100644 --- a/src/cgeo/geocaching/mapsforge/mfMapController.java +++ b/src/cgeo/geocaching/mapsforge/mfMapController.java @@ -1,49 +1,48 @@ package cgeo.geocaching.mapsforge; -import org.mapsforge.android.maps.GeoPoint; -import org.mapsforge.android.maps.MapController; - import cgeo.geocaching.mapinterfaces.GeoPointImpl; import cgeo.geocaching.mapinterfaces.MapControllerImpl; +import org.mapsforge.android.maps.GeoPoint; +import org.mapsforge.android.maps.MapController; + public class mfMapController implements MapControllerImpl { - private MapController mapController; - private int maxZoomLevel; - - public mfMapController(MapController mapControllerIn, int maxZoomLevelIn) { - mapController = mapControllerIn; - maxZoomLevel = maxZoomLevelIn; - } - - @Override - public void animateTo(GeoPointImpl geoPoint) { - mapController.setCenter((GeoPoint)geoPoint); - } - - @Override - public void setCenter(GeoPointImpl geoPoint) { - mapController.setCenter((GeoPoint)geoPoint); - } - - @Override - public void setZoom(int mapzoom) { - int mfzoom = mapzoom-1; - if (mfzoom > maxZoomLevel) { - mfzoom = maxZoomLevel; - } - mapController.setZoom(mfzoom); - } - - @Override - public void zoomToSpan(int latSpanE6, int lonSpanE6) { - - if (latSpanE6 != 0 && lonSpanE6 != 0) { - // calculate zoomlevel - int distDegree = Math.max(latSpanE6, lonSpanE6); - int zoomLevel = (int) Math.floor(Math.log(360.0*1e6/distDegree)/Math.log(2)); - mapController.setZoom(zoomLevel+1); - } - } + private MapController mapController; + private int maxZoomLevel; + + public mfMapController(MapController mapControllerIn, int maxZoomLevelIn) { + mapController = mapControllerIn; + maxZoomLevel = maxZoomLevelIn; + } + + @Override + public void animateTo(GeoPointImpl geoPoint) { + mapController.setCenter((GeoPoint) geoPoint); + } + + @Override + public void setCenter(GeoPointImpl geoPoint) { + mapController.setCenter((GeoPoint) geoPoint); + } + + @Override + public void setZoom(int mapzoom) { + int mfzoom = mapzoom - 1; + if (mfzoom > maxZoomLevel) { + mfzoom = maxZoomLevel; + } + mapController.setZoom(mfzoom); + } + + @Override + public void zoomToSpan(int latSpanE6, int lonSpanE6) { + + if (latSpanE6 != 0 && lonSpanE6 != 0) { + // calculate zoomlevel + int distDegree = Math.max(latSpanE6, lonSpanE6); + int zoomLevel = (int) Math.floor(Math.log(360.0 * 1e6 / distDegree) / Math.log(2)); + mapController.setZoom(zoomLevel + 1); + } + } } - |
