[Mapbender-commits] r5732 - trunk/mapbender/http/plugins
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Fri Mar 5 09:51:55 EST 2010
Author: marcjansen
Date: 2010-03-05 09:51:55 -0500 (Fri, 05 Mar 2010)
New Revision: 5732
Added:
trunk/mapbender/http/plugins/ol_measureLine.js
trunk/mapbender/http/plugins/ol_navigation.js
trunk/mapbender/http/plugins/ol_navigationHistory.js
trunk/mapbender/http/plugins/ol_permalink.js
trunk/mapbender/http/plugins/ol_scale.js
trunk/mapbender/http/plugins/ol_scaleLine.js
Modified:
trunk/mapbender/http/plugins/ol.js
trunk/mapbender/http/plugins/ol_keyboardDefaults.js
trunk/mapbender/http/plugins/ol_layerSwitch.js
trunk/mapbender/http/plugins/ol_mousePosition.js
trunk/mapbender/http/plugins/ol_overview.js
trunk/mapbender/http/plugins/ol_panPanel.js
trunk/mapbender/http/plugins/ol_panZoomBar.js
trunk/mapbender/http/plugins/ol_wms.php
Log:
Intermediate state of OpenLayers-template, see: http://osgeo.pastebin.com/mWXMXLcv
Modified: trunk/mapbender/http/plugins/ol.js
===================================================================
--- trunk/mapbender/http/plugins/ol.js 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -26,37 +26,38 @@
*/
var ol_options = {
- scales: [
- 50000000,
- 30000000,
- 10000000,
- 5000000
- ],
- resolutions: [
- 1.40625,
- 0.703125,
- 0.3515625,
- 0.17578125,
- 0.087890625,
- 0.0439453125
- ],
- minScale: 50000000,
- maxResolution: "auto",
- maxExtent: new OpenLayers.Bounds(-180, -90, 90, 180),
- maxResolution: 0.17578125,
- maxScale: 10000000,
- minResolution: "auto",
- minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
- minResolution: 0.0439453125,
- numZoomLevels: 5,
- units: "degrees"
+ maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
+ units: "degrees",
+ fractionalZoom: true,
+ controls: []
};
OpenLayers.ImgPath = "../extensions/OpenLayers-2.8/img/";
-var map = new OpenLayers.Map(options.id, {maxResolution: 1.40625/2});
+var map = new OpenLayers.Map(options.id, ol_options);
-Mapbender.modules[options.id] = $.extend(map, Mapbender.modules[options.id]);
+map.mapbenderEvents = {
+ 'mapInstantiated': new Mapbender.Event(),
+ 'layersAdded': new Mapbender.Event(),
+ // TODO: This one might be obsolete?
+ 'controlsAdded': new Mapbender.Event(),
+ 'mapReady': new Mapbender.Event()
+};
-Mapbender.events.afterInit.register(function () {
- map.zoomToMaxExtent();
-});
\ No newline at end of file
+var $openlayers = $(this);
+
+$openlayers.mapbender(map);
+
+var openlayers = $openlayers.mapbender();
+openlayers.mapbenderEvents.mapReady.register(function () {
+ if (!openlayers.getCenter()) {
+ openlayers.zoomToMaxExtent();
+ }
+});
+
+// register the fiing of the first OL-event to the
+// afterInit-event so that the different had time
+// to be registered elsewhere
+Mapbender.events.afterInit.register(function(){
+ // fire the mapInstantiated event
+ openlayers.mapbenderEvents.mapInstantiated.trigger();
+});
Modified: trunk/mapbender/http/plugins/ol_keyboardDefaults.js
===================================================================
--- trunk/mapbender/http/plugins/ol_keyboardDefaults.js 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_keyboardDefaults.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -31,9 +31,7 @@
* and Simplified BSD license.
* http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
*/
-
-Mapbender.events.init.register(function () {
- var ol_map = Mapbender.modules[options.target[0]];
- ol_map.addControl(new OpenLayers.Control.KeyboardDefaults());
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ ol_map.addControl(new OpenLayers.Control.KeyboardDefaults());
});
-
Modified: trunk/mapbender/http/plugins/ol_layerSwitch.js
===================================================================
--- trunk/mapbender/http/plugins/ol_layerSwitch.js 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_layerSwitch.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -29,9 +29,7 @@
* and Simplified BSD license.
* http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
*/
-
-Mapbender.events.init.register(function () {
- var ol_map = Mapbender.modules[options.target[0]];
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
ol_map.addControl(new OpenLayers.Control.LayerSwitcher());
});
-
Added: trunk/mapbender/http/plugins/ol_measureLine.js
===================================================================
--- trunk/mapbender/http/plugins/ol_measureLine.js (rev 0)
+++ trunk/mapbender/http/plugins/ol_measureLine.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,104 @@
+/**
+ * Package: ol_scaleLine
+ *
+ * Description:
+ * An OpenLayers ScaleLine
+ *
+ * Files:
+ * - http/plugins/ol_scaleLine.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment,
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width,
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file,
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_scale',1,0,'An OpenLayers ScaleLine','OpenLayers scaleLine',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_scaleLine.js','','ol','',
+ * > 'http://www.mapbender.org/ol_scaleline');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_scaleLine
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License
+ * and Simplified BSD license.
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ var handleMeasurements = function(event) {
+ var geometry = event.geometry;
+ var units = event.units;
+ var order = event.order;
+ var measure = event.measure;
+ var out = "";
+ if(order == 1) {
+ out += "measure: " + measure.toFixed(3) + " " + units;
+ } else {
+ out += "measure: " + measure.toFixed(3) + " square" + units;
+ }
+ console.log( out );
+ };
+ var deactivateConflictingControls = function() {
+ console.log('deactivating');
+ };
+
+ // style the sketch fancy
+ var sketchSymbolizers = {
+ "Point": {
+ pointRadius: 4,
+ graphicName: "square",
+ fillColor: "white",
+ fillOpacity: 1,
+ strokeWidth: 1,
+ strokeOpacity: 1,
+ strokeColor: "#333333"
+ },
+ "Line": {
+ strokeWidth: 3,
+ strokeOpacity: 1,
+ strokeColor: "#666666",
+ strokeDashstyle: "dash"
+ },
+ "Polygon": {
+ strokeWidth: 2,
+ strokeOpacity: 1,
+ strokeColor: "#666666",
+ fillColor: "white",
+ fillOpacity: 0.3
+ }
+ };
+ var style = new OpenLayers.Style();
+ style.addRules([
+ new OpenLayers.Rule({symbolizer: sketchSymbolizers})
+ ]);
+ var styleMap = new OpenLayers.StyleMap({"default": style});
+
+ var measureLine = new OpenLayers.Control.Measure(
+ OpenLayers.Handler.Path, {
+ persist: true,
+ handlerOptions: {
+ layerOptions: {styleMap: styleMap}
+ },
+ type:
+ }
+ );
+ measureLine.events.on({
+ "measure": handleMeasurements,
+ "measurepartial": handleMeasurements,
+ "activate": deactivateConflictingControls
+ });
+
+ ol_map.addControl( measureLine );
+
+ var panel = new OpenLayers.Control.Panel({
+ position: new OpenLayers.Pixel(100, 0)
+ });
+ panel.addControls([measureLine]);
+ ol_map.addControl(panel);
+});
Modified: trunk/mapbender/http/plugins/ol_mousePosition.js
===================================================================
--- trunk/mapbender/http/plugins/ol_mousePosition.js 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_mousePosition.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -43,9 +43,8 @@
* and Simplified BSD license.
* http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
*/
-
-Mapbender.events.init.register(function () {
- var ol_map = Mapbender.modules[options.target[0]];
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
ol_map.addControl(new OpenLayers.Control.MousePosition());
});
Added: trunk/mapbender/http/plugins/ol_navigation.js
===================================================================
--- trunk/mapbender/http/plugins/ol_navigation.js (rev 0)
+++ trunk/mapbender/http/plugins/ol_navigation.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,35 @@
+/**
+ * Package: ol_navigation
+ *
+ * Description:
+ * An OpenLayers navigation Control
+ *
+ * Files:
+ * - http/plugins/ol_navigation.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment,
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width,
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file,
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_layerSwitch',1,1,'An OpenLayers Navigation Control',
+ * > 'OpenLayers Navigation','div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'',
+ * > '','div','../plugins/ol_navigation.js','','ol','',
+ * > 'http://www.mapbender.org/ol_navigation');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_navigation
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License
+ * and Simplified BSD license.
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ ol_map.addControl(new OpenLayers.Control.Navigation());
+});
Added: trunk/mapbender/http/plugins/ol_navigationHistory.js
===================================================================
--- trunk/mapbender/http/plugins/ol_navigationHistory.js (rev 0)
+++ trunk/mapbender/http/plugins/ol_navigationHistory.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,41 @@
+/**
+ * Package: ol_navigation
+ *
+ * Description:
+ * An OpenLayers NavigationHistory Control
+ *
+ * Files:
+ * - http/plugins/ol_navigationHistory.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment,
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width,
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file,
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_layerSwitch',1,1,'An OpenLayers NavigationHistory Control',
+ * > 'OpenLayers NavigationHistory','div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'',
+ * > '','div','../plugins/ol_navigationHistory.js','','ol','',
+ * > 'http://www.mapbender.org/ol_navigationHistory');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_navigationHistory
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License
+ * and Simplified BSD license.
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ var nav = new OpenLayers.Control.NavigationHistory();
+ ol_map.addControl(nav);
+ panel = new OpenLayers.Control.Panel({
+ position: new OpenLayers.Pixel(50, 0)
+ });
+ panel.addControls([nav.next, nav.previous]);
+ ol_map.addControl(panel);
+});
Modified: trunk/mapbender/http/plugins/ol_overview.js
===================================================================
--- trunk/mapbender/http/plugins/ol_overview.js 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_overview.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -29,9 +29,7 @@
* and Simplified BSD license.
* http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
*/
-
-Mapbender.events.init.register(function () {
- var ol_map = Mapbender.modules[options.target[0]];
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
ol_map.addControl(new OpenLayers.Control.OverviewMap());
});
-
Modified: trunk/mapbender/http/plugins/ol_panPanel.js
===================================================================
--- trunk/mapbender/http/plugins/ol_panPanel.js 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_panPanel.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -59,11 +59,8 @@
* and Simplified BSD license.
* http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
*/
-
-Mapbender.events.init.register(function () {
- options.$target.mapbender(function () {
- console.log(this);
- this.addControl(new OpenLayers.Control.PanPanel());
- });
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ ol_map.addControl(new OpenLayers.Control.PanPanel());
});
Modified: trunk/mapbender/http/plugins/ol_panZoomBar.js
===================================================================
--- trunk/mapbender/http/plugins/ol_panZoomBar.js 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_panZoomBar.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -30,9 +30,7 @@
* and Simplified BSD license.
* http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
*/
-
-Mapbender.events.init.register(function () {
- var ol_map = Mapbender.modules[options.target[0]];
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
ol_map.addControl(new OpenLayers.Control.PanZoomBar());
});
-
Added: trunk/mapbender/http/plugins/ol_permalink.js
===================================================================
--- trunk/mapbender/http/plugins/ol_permalink.js (rev 0)
+++ trunk/mapbender/http/plugins/ol_permalink.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,36 @@
+/**
+ * Package: ol_permalink
+ *
+ * Description:
+ * An OpenLayers Permalink
+ *
+ * Files:
+ * - http/plugins/ol_permalink.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment,
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width,
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file,
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_permalink',1,0,'An OpenLayers Permalink','OpenLayers Permalink',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_permalink.js','','ol','',
+ * > 'http://www.mapbender.org/ol_permalink');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_permalink
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License
+ * and Simplified BSD license.
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ ol_map.addControl(new OpenLayers.Control.ArgParser());
+ ol_map.addControl(new OpenLayers.Control.Permalink());
+});
Added: trunk/mapbender/http/plugins/ol_scale.js
===================================================================
--- trunk/mapbender/http/plugins/ol_scale.js (rev 0)
+++ trunk/mapbender/http/plugins/ol_scale.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,35 @@
+/**
+ * Package: ol_scale
+ *
+ * Description:
+ * An OpenLayers Scale
+ *
+ * Files:
+ * - http/plugins/ol_scale.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment,
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width,
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file,
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_scale',1,0,'An OpenLayers Scale','OpenLayers scale',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_permalink.js','','ol','',
+ * > 'http://www.mapbender.org/ol_scale');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_permalink
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License
+ * and Simplified BSD license.
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ ol_map.addControl(new OpenLayers.Control.Scale());
+});
Added: trunk/mapbender/http/plugins/ol_scaleLine.js
===================================================================
--- trunk/mapbender/http/plugins/ol_scaleLine.js (rev 0)
+++ trunk/mapbender/http/plugins/ol_scaleLine.js 2010-03-05 14:51:55 UTC (rev 5732)
@@ -0,0 +1,35 @@
+/**
+ * Package: ol_scaleLine
+ *
+ * Description:
+ * An OpenLayers ScaleLine
+ *
+ * Files:
+ * - http/plugins/ol_scaleLine.js
+ *
+ * SQL:
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment,
+ * > e_title, e_element, e_src, e_attributes, e_left, e_top, e_width,
+ * > e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file,
+ * > e_mb_mod, e_target, e_requires, e_url) VALUES('<appId>',
+ * > 'ol_scale',1,0,'An OpenLayers ScaleLine','OpenLayers scaleLine',
+ * > 'div','','',NULL ,NULL ,NULL ,NULL ,NULL ,'','','div',
+ * > '../plugins/ol_scaleLine.js','','ol','',
+ * > 'http://www.mapbender.org/ol_scaleline');
+ *
+ * Help:
+ * http://www.mapbender.org/ol_scaleLine
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Christoph_Baudson
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License
+ * and Simplified BSD license.
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.layersAdded.register(function () {
+ ol_map.addControl(new OpenLayers.Control.ScaleLine());
+});
Modified: trunk/mapbender/http/plugins/ol_wms.php
===================================================================
--- trunk/mapbender/http/plugins/ol_wms.php 2010-03-05 14:26:20 UTC (rev 5731)
+++ trunk/mapbender/http/plugins/ol_wms.php 2010-03-05 14:51:55 UTC (rev 5732)
@@ -29,8 +29,9 @@
* http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
*/
-Mapbender.events.init.register(function () {
-
+var ol_map = Mapbender.modules[options.target[0]];
+ol_map.mapbenderEvents.mapInstantiated.register(function () {
+ console.log('mapInstantiated has fired');
var ol_map = Mapbender.modules[options.target[0]];
<?php
@@ -46,8 +47,17 @@
while($row = db_fetch_array($res)){
$mywms = new wms();
$mywms->createObjFromDB(Mapbender::session()->get("mb_user_gui"),$row["fkey_wms_id"]);
- $mywms->createOlObjFromWMS($cnt==0);
+ // create the first OL-layer as baselayer
+ $isBaseLayer = ($cnt === 0) ? true : false;
+ $mywms->createOlObjFromWMS( $isBaseLayer );
$cnt++;
}
?>
-});
\ No newline at end of file
+ // fire the mapInstantiated event
+ // often the controls will be listening to this event
+ ol_map.mapbenderEvents.layersAdded.trigger();
+ // fire the mapInstantiated event
+ ol_map.mapbenderEvents.mapReady.trigger();
+});
+
+
More information about the Mapbender_commits
mailing list