[Commits] r284 - in core/trunk/geoext: lib/GeoExt/widgets tests/lib/GeoExt/widgets
commits at geoext.org
commits at geoext.org
Thu Mar 26 22:45:45 CET 2009
Author: tschaub
Date: 2009-03-26 22:45:45 +0100 (Thu, 26 Mar 2009)
New Revision: 284
Modified:
core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js
core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html
Log:
Allowing array values for extent and center properties in MapPanel config. r=elemoine (closes #31)
Modified: core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js 2009-03-26 21:43:28 UTC (rev 283)
+++ core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js 2009-03-26 21:45:45 UTC (rev 284)
@@ -110,9 +110,13 @@
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);
@@ -137,7 +141,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: core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html 2009-03-26 21:43:28 UTC (rev 283)
+++ core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html 2009-03-26 21:45:45 UTC (rev 284)
@@ -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