Ignore:
Timestamp:
2014-12-17T01:49:45+01:00 (10 years ago)
Author:
bastiK
Message:

fixed #10860 - set initial viewport correctly when mapview is opened

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/Main.java

    r7802 r7816  
    6565import org.openstreetmap.josm.data.Bounds;
    6666import org.openstreetmap.josm.data.Preferences;
     67import org.openstreetmap.josm.data.ProjectionBounds;
    6768import org.openstreetmap.josm.data.UndoRedoHandler;
    6869import org.openstreetmap.josm.data.ViewportData;
     
    7273import org.openstreetmap.josm.data.osm.OsmPrimitive;
    7374import org.openstreetmap.josm.data.osm.PrimitiveDeepCopy;
     75import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
    7476import org.openstreetmap.josm.data.projection.Projection;
    7577import org.openstreetmap.josm.data.projection.ProjectionChangeListener;
     
    692694
    693695    /**
    694      * Add a new layer to the map. If no map exists, create one.
    695      */
    696     public final synchronized void addLayer(final Layer layer) {
     696     * Add a new layer to the map.
     697     *
     698     * If no map exists, create one.
     699     *
     700     * @param layer the layer
     701     *
     702     * @see #addLayer(org.openstreetmap.josm.gui.layer.Layer, org.openstreetmap.josm.data.ProjectionBounds)
     703     * @see #addLayer(org.openstreetmap.josm.gui.layer.Layer, org.openstreetmap.josm.data.ViewportData)
     704     */
     705    public final void addLayer(final Layer layer) {
     706        BoundingXYVisitor v = new BoundingXYVisitor();
     707        layer.visitBoundingBox(v);
     708        addLayer(layer, v.getBounds());
     709    }
     710
     711    /**
     712     * Add a new layer to the map.
     713     *
     714     * If no map exists, create one.
     715     *
     716     * @param layer the layer
     717     * @param bounds the bounds of the layer (target zoom area)
     718     */
     719    public final synchronized void addLayer(final Layer layer, ProjectionBounds bounds) {
     720        addLayer(layer, new ViewportData(bounds));
     721    }
     722
     723    /**
     724     * Add a new layer to the map.
     725     *
     726     * If no map exists, create one.
     727     *
     728     * @param layer the layer
     729     * @param viewport the viewport to zoom to
     730     */
     731    public final synchronized void addLayer(final Layer layer, ViewportData viewport) {
    697732        boolean noMap = map == null;
    698733        if (noMap) {
    699             createMapFrame(layer, null);
     734            createMapFrame(layer, viewport);
    700735        }
    701736        layer.hookUpMapView();
Note: See TracChangeset for help on using the changeset viewer.