[Commits] r270 - in sandbox/opengeo/geoexplorer: . lib/GeoExt/widgets tests/lib/GeoExt/widgets
commits at geoext.org
commits at geoext.org
Wed Mar 25 00:15:28 CET 2009
Author: tschaub
Date: 2009-03-25 00:15:28 +0100 (Wed, 25 Mar 2009)
New Revision: 270
Modified:
sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js
sandbox/opengeo/geoexplorer/modifications.txt
sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html
Log:
Applying the patch for #31.
Modified: sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js
===================================================================
--- sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js 2009-03-24 23:14:37 UTC (rev 269)
+++ sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js 2009-03-24 23:15:28 UTC (rev 270)
@@ -111,9 +111,13 @@
var args;
if(typeof this.center == "string") {
this.center = OpenLayers.LonLat.fromString(this.center);
+ } else if(this.center instanceof Array) {
+ this.center = new OpenLayers.LonLat(this.center[0], this.center[1]);
}
if(typeof this.extent == "string") {
this.extent = OpenLayers.Bounds.fromString(this.extent);
+ } else if(this.extent instanceof Array) {
+ this.extent = OpenLayers.Bounds.fromArray(this.extent);
}
GeoExt.MapPanel.superclass.initComponent.call(this);
@@ -128,7 +132,8 @@
GeoExt.MapPanel.superclass.onRender.apply(this, arguments);
this.map.render(this.body.dom);
if(this.map.layers.length > 0) {
- if(this.center && this.zoom) {
+ if(this.center) {
+ // zoom does not have to be defined
this.map.setCenter(this.center, this.zoom);
} else if(this.extent) {
this.map.zoomToExtent(this.extent);
Modified: sandbox/opengeo/geoexplorer/modifications.txt
===================================================================
--- sandbox/opengeo/geoexplorer/modifications.txt 2009-03-24 23:14:37 UTC (rev 269)
+++ sandbox/opengeo/geoexplorer/modifications.txt 2009-03-24 23:15:28 UTC (rev 270)
@@ -4,4 +4,5 @@
* Added code required for layer tree (see #22)
* Add WMSCapabilitiesReader (see #26)
* Add WMSCapabilitiesStore (see #9)
+ * Allow array extent or center in MapPanel (see #31)
Modified: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html 2009-03-24 23:14:37 UTC (rev 269)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html 2009-03-24 23:15:28 UTC (rev 270)
@@ -42,6 +42,97 @@
t.eq(mapPanel.map.getZoom(), 4, "Zoom set correctly");
}
+ function test_extent(t) {
+
+ t.plan(3);
+ var map, panel, log = {};
+
+ map = createMap();
+ map.zoomToExtent = function(extent) {
+ log.extent = extent;
+ }
+ panel = new GeoExt.MapPanel({
+ renderTo: "mappanel",
+ map: map,
+ extent: [1, 2, 3, 4]
+ });
+ t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with array");
+ delete log.extent;
+ panel.destroy();
+
+ map = createMap();
+ map.zoomToExtent = function(extent) {
+ log.extent = extent;
+ }
+ panel = new GeoExt.MapPanel({
+ renderTo: "mappanel",
+ map: map,
+ extent: "1, 2, 3, 4"
+ });
+ t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with string");
+ panel.destroy();
+
+ map = createMap();
+ map.zoomToExtent = function(extent) {
+ log.extent = extent;
+ }
+ panel = new GeoExt.MapPanel({
+ renderTo: "mappanel",
+ map: map,
+ extent: new OpenLayers.Bounds(1, 2, 3, 4)
+ });
+ t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with Bounds");
+ panel.destroy();
+
+ }
+
+ function test_center(t) {
+
+ t.plan(3);
+ var map, panel, log = {};
+
+ map = createMap();
+ map.setCenter = function(center) {
+ log.center = center;
+ }
+ panel = new GeoExt.MapPanel({
+ renderTo: "mappanel",
+ map: map,
+ center: [1, 2]
+ });
+ t.eq(log.center.toString(), "lon=1,lat=2", "map center set with array");
+ delete log.center;
+ panel.destroy();
+
+ map = createMap();
+ map.setCenter = function(center) {
+ log.center = center;
+ }
+ panel = new GeoExt.MapPanel({
+ renderTo: "mappanel",
+ map: map,
+ center: "1, 2"
+ });
+ t.eq(log.center.toString(), "lon=1,lat=2", "map center set with string");
+ delete log.center;
+ panel.destroy();
+
+ map = createMap();
+ map.setCenter = function(center) {
+ log.center = center;
+ }
+ panel = new GeoExt.MapPanel({
+ renderTo: "mappanel",
+ map: map,
+ center: new OpenLayers.LonLat(1, 2)
+ });
+ t.eq(log.center.toString(), "lon=1,lat=2", "map center set with LonLat");
+ delete log.center;
+ panel.destroy();
+
+ }
+
+
</script>
<body>
<div id="mappanel"></div>
More information about the Commits
mailing list