diff --git a/vtm/src/org/oscim/map/Viewport.java b/vtm/src/org/oscim/map/Viewport.java index 37436d94..f84236d0 100644 --- a/vtm/src/org/oscim/map/Viewport.java +++ b/vtm/src/org/oscim/map/Viewport.java @@ -18,6 +18,7 @@ */ package org.oscim.map; +import org.oscim.core.BoundingBox; import org.oscim.core.Box; import org.oscim.core.GeoPoint; import org.oscim.core.MapPosition; @@ -500,4 +501,25 @@ public class Viewport { public void setMinY(double minY) { this.mMinY = minY; } + + public void setMapLimit(double minX, double minY, double maxX, double maxY) { + this.mMinX = minX; + this.mMinY = minY; + this.mMaxX = maxX; + this.mMaxY = maxY; + } + + public BoundingBox getMapLimit() { + return new BoundingBox( + MercatorProjection.toLatitude(mMaxY), MercatorProjection.toLongitude(mMinX), + MercatorProjection.toLatitude(mMinY), MercatorProjection.toLongitude(mMaxX) + ); + } + + public void setMapLimit(BoundingBox mapLimit) { + this.mMinX = MercatorProjection.longitudeToX(mapLimit.getMinLongitude()); + this.mMinY = MercatorProjection.latitudeToY(mapLimit.getMaxLatitude()); + this.mMaxX = MercatorProjection.longitudeToX(mapLimit.getMaxLongitude()); + this.mMaxY = MercatorProjection.latitudeToY(mapLimit.getMinLatitude()); + } }