Author: ajamtli
Date: 2006-05-08 16:35:20 +0200 (Mon, 08 May 2006)
New Revision: 2875

Modified:
   trunk/src/java/no/geodata/maputil/CoordHelper.java
Log:
SEARCH-258

Modified: trunk/src/java/no/geodata/maputil/CoordHelper.java
===================================================================
--- trunk/src/java/no/geodata/maputil/CoordHelper.java  2006-05-08 13:40:33 UTC 
(rev 2874)
+++ trunk/src/java/no/geodata/maputil/CoordHelper.java  2006-05-08 14:35:20 UTC 
(rev 2875)
@@ -29,7 +29,7 @@
 
     public final static int zoomCount = 7;
 
-    public final static int defaultZoom = 2;
+    public int defaultZoom = 2;
     public int imgWidth = 363; //bildestørrelse i pixler, bredde
     public int imgHeight = 363; //bildestørrelse i pixler, høyde
     public final static int envFactor = 30; //faktor for å lage rom rundt 
envelope. Angis i pixler
@@ -64,7 +64,15 @@
     /** Creates a new instance of CoordHelper */
     public CoordHelper() {
     }
+    
+    public void setDefaultZoomlevel(int defaultZoom) {
+        this.defaultZoom = defaultZoom;
+    }
 
+    public int getDefaultZoomlevel() {
+        return defaultZoom;
+    }
+    
     /**
      * @param sCoord Coordinate string, x1,y1;x2,y2;x3,y3;x4,y4...osv.
      * @return Vector containing MapPoint objects.
@@ -134,7 +142,7 @@
         try  {
             mp.x = Double.parseDouble(item.getField("xcoord"));
             mp.y = Double.parseDouble(item.getField("ycoord"));
-            int zoomnivaa = defaultZoom;
+            int zoomnivaa = getDefaultZoomlevel();
             return makeEnvelope(mp.x, mp.y, zoomnivaa);
         }
         catch (Exception e) {
@@ -152,13 +160,23 @@
     }
 
     /**
+     * Returns MapEnvelope from given list of company objects and converts 
coodrs to pixCoords.
+     * @param companies List of companies
+     * @param zoomLevel Minimum zoomlevel to use
+     * @return MapEnvelope
+     */
+    public MapEnvelope getEnvelope(final List companies, final int zoomlevel) {
+        Vector mps = extractMapPoints(companies);
+        return makeEnvelope(mps, zoomlevel);
+    }
+    
+    /**
      * Returns MapEnvelope from given list of company objects and converts 
coords to pixCoords
      * @param companies
      * @return MapEnvelope
      */
     public MapEnvelope getEnvelope(final List companies) {
-        Vector mps = extractMapPoints(companies);
-        return makeEnvelope(mps);
+        return getEnvelope(companies, getDefaultZoomlevel());
     }
 
     /**
@@ -232,10 +250,19 @@
 
     /**
      * Generates MapEnvelope from a vector of points, imgwidth and imgheight.
+     * @param vMapPoints list of pints
+     * @return MapEnvelope
+     */
+    public MapEnvelope makeEnvelope(Vector vMapPoints) {
+        return makeEnvelope(vMapPoints, getDefaultZoomlevel());
+    }
+    
+    /**
+     * Generates MapEnvelope from a vector of points, imgwidth and imgheight.
      * @param vMapPoints vector containg MapPoints
      * @return MapEnvelope,
      */
-    public MapEnvelope makeEnvelope(Vector vMapPoints) {
+    public MapEnvelope makeEnvelope(Vector vMapPoints, int zoomlevel) {
         //loope igjennom vector for � finne max/ min verdier
         MapPoint mp = new MapPoint();
         MapPoint mp2 = new MapPoint();
@@ -287,11 +314,11 @@
                 return me;
             }
             else if (counter == 1) { //kun ett punkt i lista inneholder 
riktige koordinater
-                me = makeEnvelope(me.maxX, me.maxY, defaultZoom);
+                me = makeEnvelope(me.maxX, me.maxY, zoomlevel);
                 return me;
             }
             else if ((me.maxX - me.minX) == 0) { //har flere koordinater men 
alle har samme verdi
-                zoomscale = getZoomScale(defaultZoom);
+                zoomscale = getZoomScale(zoomlevel);
                 //beregner fiktive max/min koordinater.
                 centerX = me.maxX;
                 centerY = me.maxY;
@@ -320,7 +347,7 @@
                 me.centerX = me.minX + deltaX / 2;
                 me.centerY = me.minY + deltaY / 2;
                 if (deltaX == 0 && deltaY == 0) { //dersom deltax og deltay er 
null, betyr det at alle punkt har samme koordinater.
-                    me = makeEnvelope(me.centerX, me.centerY, defaultZoom);
+                    me = makeEnvelope(me.centerX, me.centerY, zoomlevel);
                     return me;
                 }
                 else  {
@@ -589,8 +616,8 @@
 
     public String getDefaultZoom() {
         return Integer.toString(defaultZoom);
-
     }
+    
     public int getImgWidth() {
 
         return imgWidth;

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to