Changeset 14110 in osm for applications/editors/josm


Ignore:
Timestamp:
2009-03-17T19:33:32+01:00 (16 years ago)
Author:
stoecker
Message:

close #2291 - add pattern support to URL

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/wmsplugin/src/wmsplugin/WMSGrabber.java

    r14063 r14110  
    1414import java.text.DecimalFormat;
    1515import java.text.DecimalFormatSymbols;
     16import java.text.MessageFormat;
    1617import java.text.NumberFormat;
    1718import java.util.Locale;
     
    3435    protected Cache cache = new wmsplugin.Cache();
    3536    private static Boolean shownWarning = false;
     37    private boolean urlWithPatterns;
    3638
    3739    WMSGrabber(String baseURL, Bounds b, Projection proj,
     
    3941        super(b, proj, pixelPerDegree, image, mv, layer);
    4042        this.baseURL = baseURL;
     43        /* URL containing placeholders? */
     44        urlWithPatterns = baseURL != null && baseURL.contains("{1}");
    4145    }
    4246
     
    7478            int wi, int ht) throws MalformedURLException {
    7579        String str = baseURL;
    76         if(!str.endsWith("?"))
    77             str += "&";
    78         str += "bbox="
    79             + latLonFormat.format(w) + ","
    80             + latLonFormat.format(s) + ","
    81             + latLonFormat.format(e) + ","
    82             + latLonFormat.format(n)
    83             + getProjection(baseURL, false)
    84             + "&width=" + wi + "&height=" + ht;
     80        String bbox = latLonFormat.format(w) + "," +
     81                      latLonFormat.format(s) + "," +
     82                      latLonFormat.format(e) + "," +
     83                      latLonFormat.format(n);
     84
     85        if (urlWithPatterns) {
     86            String proj = Main.proj.toCode();
     87            if(proj.equals("EPSG:3785")) // don't use mercator code
     88                proj = "EPSG:4326";
     89
     90            str = MessageFormat.format(str, proj, bbox, wi, ht);
     91        } else {
     92            if(!str.endsWith("?"))
     93                str += "&";
     94            str += "bbox="
     95                + bbox
     96                + getProjection(baseURL, false)
     97                + "&width=" + wi + "&height=" + ht;
     98        }
    8599        return new URL(str.replace(" ", "%20"));
    86100    }
Note: See TracChangeset for help on using the changeset viewer.