Ignore:
Timestamp:
2015-05-20T21:47:44+02:00 (9 years ago)
Author:
wiktorn
Message:

Rework the per host limit, so the queue will never reject the submited job. Also - sort tiles during loading in TMS, so center tiles will be loaded first. closes: #11437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java

    r8401 r8403  
    2222import java.util.ArrayList;
    2323import java.util.Collections;
     24import java.util.Comparator;
    2425import java.util.HashMap;
    2526import java.util.LinkedList;
     
    11941195        }
    11951196
     1197        private Comparator<Tile> getTileDistanceComparator() {
     1198            final int centerX = (int) Math.ceil((x0 + x1) / 2);
     1199            final int centerY = (int) Math.ceil((y0 + y1) / 2);
     1200            return new Comparator<Tile>() {
     1201                private int getDistance(Tile t) {
     1202                    return Math.abs(t.getXtile() - centerX) + Math.abs(t.getYtile() - centerY);
     1203                }
     1204                @Override
     1205                public int compare(Tile o1, Tile o2) {
     1206                    int distance1 = getDistance(o1);
     1207                    int distance2 = getDistance(o2);
     1208                    return Integer.compare(distance1, distance2);
     1209                }
     1210            };
     1211        }
     1212
    11961213        private void loadAllTiles(boolean force) {
    11971214            if (!autoLoad && !force)
    11981215                return;
    1199             for (Tile t : this.allTilesCreate()) {
     1216            List<Tile> allTiles = allTilesCreate();
     1217            Collections.sort(allTiles, getTileDistanceComparator());
     1218            for (Tile t : allTiles) { //, getTileDistanceComparator())) {
    12001219                loadTile(t, false);
    12011220            }
Note: See TracChangeset for help on using the changeset viewer.