Changeset 284


Ignore:
Timestamp:
03/26/09 22:45:45 (8 years ago)
Author:
tschaub
Message:

Allowing array values for extent and center properties in MapPanel config. r=elemoine (closes #31)

Location:
core/trunk/geoext
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js

    r283 r284  
    111111        if(typeof this.center == "string") {
    112112            this.center = OpenLayers.LonLat.fromString(this.center);
     113        } else if(this.center instanceof Array) {
     114            this.center = new OpenLayers.LonLat(this.center[0], this.center[1]);
    113115        }
    114116        if(typeof this.extent == "string") {
    115117            this.extent = OpenLayers.Bounds.fromString(this.extent);
     118        } else if(this.extent instanceof Array) {
     119            this.extent = OpenLayers.Bounds.fromArray(this.extent);
    116120        }
    117121       
     
    138142        this.map.render(this.body.dom);
    139143        if(this.map.layers.length > 0) {
    140             if(this.center && this.zoom) {
     144            if(this.center) {
     145                // zoom does not have to be defined
    141146                this.map.setCenter(this.center, this.zoom);
    142147            }  else if(this.extent) {
  • core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html

    r273 r284  
    4343        }
    4444
     45        function test_extent(t) {
     46           
     47            t.plan(3);
     48            var map, panel, log = {};
     49           
     50            map = createMap();
     51            map.zoomToExtent = function(extent) {
     52                log.extent = extent;
     53            }
     54            panel = new GeoExt.MapPanel({
     55                renderTo: "mappanel",
     56                map: map,
     57                extent: [1, 2, 3, 4]
     58            });           
     59            t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with array");
     60            delete log.extent;
     61            panel.destroy();
     62           
     63            map = createMap();
     64            map.zoomToExtent = function(extent) {
     65                log.extent = extent;
     66            }
     67            panel = new GeoExt.MapPanel({
     68                renderTo: "mappanel",
     69                map: map,
     70                extent: "1, 2, 3, 4"
     71            });
     72            t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with string");
     73            panel.destroy();
     74           
     75            map = createMap();
     76            map.zoomToExtent = function(extent) {
     77                log.extent = extent;
     78            }
     79            panel = new GeoExt.MapPanel({
     80                renderTo: "mappanel",
     81                map: map,
     82                extent: new OpenLayers.Bounds(1, 2, 3, 4)
     83            });
     84            t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with Bounds");
     85            panel.destroy();           
     86           
     87        }
     88       
     89        function test_center(t) {
     90
     91            t.plan(3);
     92            var map, panel, log = {};
     93           
     94            map = createMap();
     95            map.setCenter = function(center) {
     96                log.center = center;
     97            }
     98            panel = new GeoExt.MapPanel({
     99                renderTo: "mappanel",
     100                map: map,
     101                center: [1, 2]
     102            });           
     103            t.eq(log.center.toString(), "lon=1,lat=2", "map center set with array");
     104            delete log.center;
     105            panel.destroy();
     106
     107            map = createMap();
     108            map.setCenter = function(center) {
     109                log.center = center;
     110            }
     111            panel = new GeoExt.MapPanel({
     112                renderTo: "mappanel",
     113                map: map,
     114                center: "1, 2"
     115            });           
     116            t.eq(log.center.toString(), "lon=1,lat=2", "map center set with string");
     117            delete log.center;
     118            panel.destroy();
     119
     120            map = createMap();
     121            map.setCenter = function(center) {
     122                log.center = center;
     123            }
     124            panel = new GeoExt.MapPanel({
     125                renderTo: "mappanel",
     126                map: map,
     127                center: new OpenLayers.LonLat(1, 2)
     128            });           
     129            t.eq(log.center.toString(), "lon=1,lat=2", "map center set with LonLat");
     130            delete log.center;
     131            panel.destroy();
     132
     133        }
     134
     135
    45136    </script>
    46137  <body>
Note: See TracChangeset for help on using the changeset viewer.