diff --git a/vtm/src/org/oscim/core/MapPosition.java b/vtm/src/org/oscim/core/MapPosition.java index 2bf75367..7b847a22 100644 --- a/vtm/src/org/oscim/core/MapPosition.java +++ b/vtm/src/org/oscim/core/MapPosition.java @@ -46,6 +46,11 @@ public class MapPosition { this.angle = 0; } + public MapPosition(double latitude, double longitude, double scale) { + setPosition(latitude, longitude); + setScale(scale); + } + public void setZoomLevel(int zoomLevel) { this.zoomLevel = zoomLevel; this.scale = 1 << zoomLevel; @@ -75,6 +80,9 @@ public class MapPosition { this.y = other.y; } + /** + * @return scale relative to zoom-level. + */ public double getZoomScale() { return scale / (1 << zoomLevel); } diff --git a/vtm/src/org/oscim/map/Map.java b/vtm/src/org/oscim/map/Map.java index ac1cbf60..add77573 100644 --- a/vtm/src/org/oscim/map/Map.java +++ b/vtm/src/org/oscim/map/Map.java @@ -191,6 +191,11 @@ public abstract class Map implements EventDispatcher { updateMap(true); } + public void setMapPosition(double latitude, double longitude, double scale) { + mViewport.setMapPosition(new MapPosition(latitude, longitude, scale)); + updateMap(true); + } + /** * Get current {@link MapPosition}. *