[fusion-commits] r2264 - in branches/fusion-2.2: . layers/Generic lib/OpenLayers templates/mapguide/standard

svn_fusion at osgeo.org svn_fusion at osgeo.org
Thu Oct 28 14:30:18 EDT 2010


Author: madair
Date: 2010-10-28 11:30:18 -0700 (Thu, 28 Oct 2010)
New Revision: 2264

Modified:
   branches/fusion-2.2/fusion.cfg
   branches/fusion-2.2/layers/Generic/Generic.js
   branches/fusion-2.2/lib/OpenLayers/OpenLayers.js
   branches/fusion-2.2/templates/mapguide/standard/ApplicationDefinition.xml
   branches/fusion-2.2/templates/mapguide/standard/index.html
Log:
re #411: updating the Google layer to use v3 of Google API

Modified: branches/fusion-2.2/fusion.cfg
===================================================================
--- branches/fusion-2.2/fusion.cfg	2010-10-26 19:44:48 UTC (rev 2263)
+++ branches/fusion-2.2/fusion.cfg	2010-10-28 18:30:18 UTC (rev 2264)
@@ -28,6 +28,7 @@
 OpenLayers/Layer/MapGuide.js
 OpenLayers/Layer/MapServer.js
 OpenLayers/Layer/Google.js
+OpenLayers/Layer/Google/v3.js
 OpenLayers/Layer/VirtualEarth.js
 OpenLayers/Layer/Yahoo.js
 OpenLayers/Layer/Vector.js

Modified: branches/fusion-2.2/layers/Generic/Generic.js
===================================================================
--- branches/fusion-2.2/layers/Generic/Generic.js	2010-10-26 19:44:48 UTC (rev 2263)
+++ branches/fusion-2.2/layers/Generic/Generic.js	2010-10-28 18:30:18 UTC (rev 2264)
@@ -95,26 +95,30 @@
           case 'Google':
             switch (this.mapTag.layerOptions.type) {   //Google layer types are actual objects
               case 'G_PHYSICAL_MAP':              //defined by gmap, not a string
-                this.mapTag.layerOptions.type = G_PHYSICAL_MAP;
+              case 'TERRAIN':
+                this.mapTag.layerOptions.type = google.maps.MapTypeId.TERRAIN;
                 break;
               case 'G_HYBRID_MAP':
-                this.mapTag.layerOptions.type = G_HYBRID_MAP;
+              case 'HYBRID':
+                this.mapTag.layerOptions.type = google.maps.MapTypeId.HYBRID;
                 break;
               case 'G_SATELLITE_MAP':
-                this.mapTag.layerOptions.type = G_SATELLITE_MAP;
+              case 'SATELLITE':
+                this.mapTag.layerOptions.type = google.maps.MapTypeId.SATELLITE;
                 break;
               case 'G_NORMAL_MAP':
-                this.mapTag.layerOptions.type = G_NORMAL_MAP;
+              case 'ROADMAP':
+                this.mapTag.layerOptions.type = google.maps.MapTypeId.ROADMAP;
               default:
                 // For the re-loaded Google layers
-                if(this.mapTag.layerOptions.type == G_PHYSICAL_MAP)
-                  this.mapTag.layerOptions.type = G_PHYSICAL_MAP;
-                else if(this.mapTag.layerOptions.type == G_HYBRID_MAP)
-                  this.mapTag.layerOptions.type = G_HYBRID_MAP;
-                else if(this.mapTag.layerOptions.type == G_SATELLITE_MAP)
-                  this.mapTag.layerOptions.type = G_SATELLITE_MAP;
+                if(this.mapTag.layerOptions.type == google.maps.MapTypeId.TERRAIN)
+                  this.mapTag.layerOptions.type = google.maps.MapTypeId.TERRAIN;
+                else if(this.mapTag.layerOptions.type == google.maps.MapTypeId.HYBRID)
+                  this.mapTag.layerOptions.type = google.maps.MapTypeId.HYBRID;
+                else if(this.mapTag.layerOptions.type == google.maps.MapTypeId.SATELLITE)
+                  this.mapTag.layerOptions.type = google.maps.MapTypeId.SATELLITE;
                 else 
-                  this.mapTag.layerOptions.type = G_NORMAL_MAP;
+                  this.mapTag.layerOptions.type = google.maps.MapTypeId.ROADMAP;
                 break;
             }
             break;

Modified: branches/fusion-2.2/lib/OpenLayers/OpenLayers.js
===================================================================
--- branches/fusion-2.2/lib/OpenLayers/OpenLayers.js	2010-10-26 19:44:48 UTC (rev 2263)
+++ branches/fusion-2.2/lib/OpenLayers/OpenLayers.js	2010-10-28 18:30:18 UTC (rev 2264)
@@ -31297,6 +31297,429 @@
     };
 };
 /* ======================================================================
+    OpenLayers/Layer/Google/v3.js
+   ====================================================================== */
+
+/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for 
+ * full list of contributors). Published under the Clear BSD license.  
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Layer/Google.js
+ */
+
+/**
+ * Constant: OpenLayers.Layer.Google.v3
+ * 
+ * Mixin providing functionality specific to the Google Maps API v3. Note that
+ * this layer configures the google.maps.map object with the "disableDefaultUI"
+ * option set to true. Using UI controls that the Google Maps API provides is
+ * not supported by the OpenLayers API.
+ */
+OpenLayers.Layer.Google.v3 = {
+    
+    /**
+     * Constant: DEFAULTS
+     * {Object} It is not recommended to change the properties set here. Note
+     * that Google.v3 layers only work when sphericalMercator is set to true.
+     * 
+     * (code)
+     * {
+     *     maxExtent: new OpenLayers.Bounds(
+     *         -128 * 156543.0339,
+     *         -128 * 156543.0339,
+     *         128 * 156543.0339,
+     *         128 * 156543.0339
+     *     ),
+     *     sphericalMercator: true,
+     *     maxResolution: 156543.0339,
+     *     units: "m",
+     *     projection: "EPSG:900913"
+     * }
+     * (end)
+     */
+    DEFAULTS: {
+        maxExtent: new OpenLayers.Bounds(
+            -128 * 156543.0339,
+            -128 * 156543.0339,
+            128 * 156543.0339,
+            128 * 156543.0339
+        ),
+        sphericalMercator: true,
+        maxResolution: 156543.0339,
+        units: "m",
+        projection: "EPSG:900913"
+    },
+
+    /** 
+     * Method: loadMapObject
+     * Load the GMap and register appropriate event listeners. If we can't 
+     *     load GMap2, then display a warning message.
+     */
+    loadMapObject:function() {
+        if (!this.type) {
+            this.type = google.maps.MapTypeId.ROADMAP;
+        }
+        var mapObject;
+        var cache = OpenLayers.Layer.Google.cache[this.map.id];
+        if (cache) {
+            // there are already Google layers added to this map
+            mapObject = cache.mapObject;
+            // increment the layer count
+            ++cache.count;
+        } else {
+            // this is the first Google layer for this map
+
+            var container = this.map.viewPortDiv;
+            var div = document.createElement("div");
+            div.id = this.map.id + "_GMapContainer";
+            div.style.position = "absolute";
+            div.style.width = "100%";
+            div.style.height = "100%";
+            container.appendChild(div);
+
+            // create GMap and shuffle elements
+            var center = this.map.getCenter();
+            mapObject = new google.maps.Map(div, {
+                center: center ?
+                    new google.maps.LatLng(center.lat, center.lon) :
+                    new google.maps.LatLng(0, 0),
+                zoom: this.map.getZoom() || 0,
+                mapTypeId: this.type,
+                disableDefaultUI: true,
+                keyboardShortcuts: false,
+                draggable: false,
+                disableDoubleClickZoom: true,
+                scrollwheel: false
+            });
+            
+            // cache elements for use by any other google layers added to
+            // this same map
+            cache = {
+                mapObject: mapObject,
+                count: 1
+            };
+            OpenLayers.Layer.Google.cache[this.map.id] = cache;
+            this.repositionListener = google.maps.event.addListenerOnce(
+                mapObject, 
+                "center_changed", 
+                OpenLayers.Function.bind(this.repositionMapElements, this)
+            );
+        }
+        this.mapObject = mapObject;
+        this.setGMapVisibility(this.visibility);
+    },
+    
+    /**
+     * Method: repositionMapElements
+     *
+     * Waits until powered by and terms of use elements are available and then
+     * moves them so they are clickable.
+     */
+    repositionMapElements: function() {
+
+        // This is the first time any Google layer in this mapObject has been
+        // made visible.  The mapObject needs to know the container size.
+        google.maps.event.trigger(this.mapObject, "resize");
+        
+        var div = this.mapObject.getDiv().firstChild;
+        if (!div || div.childNodes.length < 3) {
+            this.repositionTimer = window.setTimeout(
+                OpenLayers.Function.bind(this.repositionMapElements, this),
+                250
+            );
+            return false;
+        }
+
+        var cache = OpenLayers.Layer.Google.cache[this.map.id];
+        var container = this.map.viewPortDiv;
+
+        // move the ToS and branding stuff up to the container div
+        var termsOfUse = div.lastChild;
+        container.appendChild(termsOfUse);
+        termsOfUse.style.zIndex = "1100";
+        termsOfUse.style.bottom = "";
+        termsOfUse.className = "olLayerGoogleCopyright olLayerGoogleV3";
+        termsOfUse.style.display = "";
+        cache.termsOfUse = termsOfUse;
+
+        var poweredBy = div.lastChild;
+        container.appendChild(poweredBy);
+        poweredBy.style.zIndex = "1100";
+        poweredBy.style.bottom = "";
+        poweredBy.className = "olLayerGooglePoweredBy olLayerGoogleV3 gmnoprint";
+        poweredBy.style.display = "";
+        cache.poweredBy = poweredBy;
+
+        this.setGMapVisibility(this.visibility);
+
+    },
+
+    /**
+     * APIMethod: onMapResize
+     */
+    onMapResize: function() {
+        if (this.visibility) {
+            google.maps.event.trigger(this.mapObject, "resize");
+        } else {
+            if (!this._resized) {
+                var layer = this;
+                google.maps.event.addListenerOnce(this.mapObject, "tilesloaded", function() {
+                    delete layer._resized;
+                    google.maps.event.trigger(layer.mapObject, "resize");
+                    layer.moveTo(layer.map.getCenter(), layer.map.getZoom());
+                });
+            }
+            this._resized = true;
+        }
+    },
+
+    /**
+     * Method: setGMapVisibility
+     * Display the GMap container and associated elements.
+     * 
+     * Parameters:
+     * visible - {Boolean} Display the GMap elements.
+     */
+    setGMapVisibility: function(visible) {
+        var cache = OpenLayers.Layer.Google.cache[this.map.id];
+        if (cache) {
+            var type = this.type;
+            var layers = this.map.layers;
+            var layer;
+            for (var i=layers.length-1; i>=0; --i) {
+                layer = layers[i];
+                if (layer instanceof OpenLayers.Layer.Google &&
+                            layer.visibility === true && layer.inRange === true) {
+                    type = layer.type;
+                    visible = true;
+                    break;
+                }
+            }
+            var container = this.mapObject.getDiv();
+            if (visible === true) {
+                this.mapObject.setMapTypeId(type);                
+                container.style.left = "";
+                if (cache.termsOfUse && cache.termsOfUse.style) {
+                    cache.termsOfUse.style.left = "";
+                    cache.termsOfUse.style.display = "";
+                    cache.poweredBy.style.display = "";            
+                }
+                cache.displayed = this.id;
+            } else {
+                delete cache.displayed;
+                container.style.left = "-9999px";
+                if (cache.termsOfUse && cache.termsOfUse.style) {
+                    cache.termsOfUse.style.display = "none";
+                    // move ToU far to the left in addition to setting
+                    // display to "none", because at the end of the GMap
+                    // load sequence, display: none will be unset and ToU
+                    // would be visible after loading a map with a google
+                    // layer that is initially hidden. 
+                    cache.termsOfUse.style.left = "-9999px";
+                    cache.poweredBy.style.display = "none";
+                }
+            }
+        }
+    },
+    
+    /**
+     * Method: getMapContainer
+     * 
+     * Returns:
+     * {DOMElement} the GMap container's div
+     */
+    getMapContainer: function() {
+        return this.mapObject.getDiv();
+    },
+    
+  //
+  // TRANSLATION: MapObject Bounds <-> OpenLayers.Bounds
+  //
+
+    /**
+     * APIMethod: getMapObjectBoundsFromOLBounds
+     * 
+     * Parameters:
+     * olBounds - {<OpenLayers.Bounds>}
+     * 
+     * Returns:
+     * {Object} A MapObject Bounds, translated from olBounds
+     *          Returns null if null value is passed in
+     */
+    getMapObjectBoundsFromOLBounds: function(olBounds) {
+        var moBounds = null;
+        if (olBounds != null) {
+            var sw = this.sphericalMercator ? 
+              this.inverseMercator(olBounds.bottom, olBounds.left) : 
+              new OpenLayers.LonLat(olBounds.bottom, olBounds.left);
+            var ne = this.sphericalMercator ? 
+              this.inverseMercator(olBounds.top, olBounds.right) : 
+              new OpenLayers.LonLat(olBounds.top, olBounds.right);
+            moBounds = new google.maps.LatLngBounds(
+                new google.maps.LatLng(sw.lat, sw.lon),
+                new google.maps.LatLng(ne.lat, ne.lon)
+            );
+        }
+        return moBounds;
+    },
+
+
+    /************************************
+     *                                  *
+     *   MapObject Interface Controls   *
+     *                                  *
+     ************************************/
+
+
+  // LonLat - Pixel Translation
+  
+    /**
+     * APIMethod: getMapObjectLonLatFromMapObjectPixel
+     * 
+     * Parameters:
+     * moPixel - {Object} MapObject Pixel format
+     * 
+     * Returns:
+     * {Object} MapObject LonLat translated from MapObject Pixel
+     */
+    getMapObjectLonLatFromMapObjectPixel: function(moPixel) {
+        var size = this.map.getSize();
+        var lon = this.getLongitudeFromMapObjectLonLat(this.mapObject.center);
+        var lat = this.getLatitudeFromMapObjectLonLat(this.mapObject.center);
+        var res = this.map.getResolution();
+
+        var delta_x = moPixel.x - (size.w / 2);
+        var delta_y = moPixel.y - (size.h / 2);
+    
+        var lonlat = new OpenLayers.LonLat(
+            lon + delta_x * res,
+            lat - delta_y * res
+        ); 
+
+        if (this.wrapDateLine) {
+            lonlat = lonlat.wrapDateLine(this.maxExtent);
+        }
+        return this.getMapObjectLonLatFromLonLat(lonlat.lon, lonlat.lat);
+    },
+
+    /**
+     * APIMethod: getMapObjectPixelFromMapObjectLonLat
+     * 
+     * Parameters:
+     * moLonLat - {Object} MapObject LonLat format
+     * 
+     * Returns:
+     * {Object} MapObject Pixel transtlated from MapObject LonLat
+     */
+    getMapObjectPixelFromMapObjectLonLat: function(moLonLat) {
+        var lon = this.getLongitudeFromMapObjectLonLat(moLonLat);
+        var lat = this.getLatitudeFromMapObjectLonLat(moLonLat);
+        var res = this.map.getResolution();
+        var extent = this.map.getExtent();
+        var px = new OpenLayers.Pixel(
+            (1/res * (lon - extent.left)),
+            (1/res * (extent.top - lat))
+        );    
+        return this.getMapObjectPixelFromXY(px.x, px.y);
+    },
+
+  
+    /** 
+     * APIMethod: setMapObjectCenter
+     * Set the mapObject to the specified center and zoom
+     * 
+     * Parameters:
+     * center - {Object} MapObject LonLat format
+     * zoom - {int} MapObject zoom format
+     */
+    setMapObjectCenter: function(center, zoom) {
+        this.mapObject.setOptions({
+            center: center,
+            zoom: zoom
+        });
+    },
+   
+    
+  // Bounds
+  
+    /** 
+     * APIMethod: getMapObjectZoomFromMapObjectBounds
+     * 
+     * Parameters:
+     * moBounds - {Object} MapObject Bounds format
+     * 
+     * Returns:
+     * {Object} MapObject Zoom for specified MapObject Bounds
+     */
+    getMapObjectZoomFromMapObjectBounds: function(moBounds) {
+        return this.mapObject.getBoundsZoomLevel(moBounds);
+    },
+
+    /************************************
+     *                                  *
+     *       MapObject Primitives       *
+     *                                  *
+     ************************************/
+
+
+  // LonLat
+    
+    /**
+     * APIMethod: getMapObjectLonLatFromLonLat
+     * 
+     * Parameters:
+     * lon - {Float}
+     * lat - {Float}
+     * 
+     * Returns:
+     * {Object} MapObject LonLat built from lon and lat params
+     */
+    getMapObjectLonLatFromLonLat: function(lon, lat) {
+        var gLatLng;
+        if(this.sphericalMercator) {
+            var lonlat = this.inverseMercator(lon, lat);
+            gLatLng = new google.maps.LatLng(lonlat.lat, lonlat.lon);
+        } else {
+            gLatLng = new google.maps.LatLng(lat, lon);
+        }
+        return gLatLng;
+    },
+    
+  // Pixel
+    
+    /**
+     * APIMethod: getMapObjectPixelFromXY
+     * 
+     * Parameters:
+     * x - {Integer}
+     * y - {Integer}
+     * 
+     * Returns:
+     * {Object} MapObject Pixel from x and y parameters
+     */
+    getMapObjectPixelFromXY: function(x, y) {
+        return new google.maps.Point(x, y);
+    },
+        
+    /**
+     * APIMethod: destroy
+     * Clean up this layer.
+     */
+    destroy: function() {
+        if (this.repositionListener) {
+            google.maps.event.removeListener(this.repositionListener);
+        }
+        if (this.repositionTimer) {
+            window.clearTimeout(this.repositionTimer);
+        }
+        OpenLayers.Layer.Google.prototype.destroy.apply(this, arguments);
+    }
+    
+};
+/* ======================================================================
     OpenLayers/Layer/MapGuide.js
    ====================================================================== */
 

Modified: branches/fusion-2.2/templates/mapguide/standard/ApplicationDefinition.xml
===================================================================
--- branches/fusion-2.2/templates/mapguide/standard/ApplicationDefinition.xml	2010-10-26 19:44:48 UTC (rev 2263)
+++ branches/fusion-2.2/templates/mapguide/standard/ApplicationDefinition.xml	2010-10-28 18:30:18 UTC (rev 2264)
@@ -8,9 +8,9 @@
 * application.
  ****************************************** -->
 
-  <MapSet xsi:type="MapSetType">
-    <MapGroup id="sheboygan" xsi:type="MapType">
-      <Map xsi:type="MapGuideLayerType">
+  <MapSet>
+    <MapGroup id="sheboygan">
+      <Map>
         <Type>MapGuide</Type>
         <SingleTile>true</SingleTile>
         <Extension>
@@ -22,8 +22,8 @@
         </Extension>
       </Map>
     </MapGroup>
-    <MapGroup id="mixed" xsi:type="MapType">
-      <Map xsi:type="WMSLayerType">
+    <MapGroup id="mixed">
+      <Map>
         <Type>WMS</Type>
         <Extension>
           <ResourceId>http://localhost/cgi-bin/testwms.exe</ResourceId>
@@ -39,7 +39,7 @@
           </Parameters>
         </Extension>
       </Map>
-      <Map xsi:type="MapGuideLayerType">
+      <Map>
         <Type>MapGuide</Type>
         <SingleTile>true</SingleTile>
         <Extension>
@@ -50,8 +50,8 @@
         </Extension>
       </Map>
     </MapGroup>
-    <MapGroup id="sheboygan-tiled" xsi:type="MapType">
-      <Map xsi:type="MapGuideLayerType">
+    <MapGroup id="sheboygan-tiled">
+      <Map>
         <Type>MapGuide</Type>
         <SingleTile>false</SingleTile>
         <Extension>
@@ -59,8 +59,8 @@
         </Extension>
       </Map>
     </MapGroup>
-    <MapGroup id="gmap-tiled" xsi:type="MapType">
-      <Map xsi:type="MapGuideLayerType">
+    <MapGroup id="gmap-tiled">
+      <Map>
         <Type>MapGuide</Type>
         <SingleTile>false</SingleTile>
         <Extension>
@@ -70,8 +70,8 @@
         </Extension>
       </Map>
     </MapGroup>
-    <MapGroup id="gmap" xsi:type="MapType">
-      <Map xsi:type="MapGuideLayerType">
+    <MapGroup id="gmap">
+      <Map>
         <Type>MapGuide</Type>
         <SingleTile>false</SingleTile>
         <Extension>
@@ -81,8 +81,8 @@
         </Extension>
       </Map>
     </MapGroup>
-    <MapGroup id="wmsOnly" xsi:type="MapType">
-      <Map xsi:type="WMSLayerType">
+    <MapGroup id="wmsOnly">
+      <Map>
         <Type>WMS</Type>
         <Extension>
           <ResourceId>http://localhost/cgi-bin/testwms.exe</ResourceId>
@@ -102,17 +102,14 @@
         </Extension>
       </Map>
     </MapGroup>
-    <MapGroup id="google" xsi:type="MapType">
-      <Map xsi:type="WMSLayerType">
+    <MapGroup id="google">
+      <Map>
         <Type>Google</Type>
         <Extension>
           <ResourceId>google</ResourceId>
           <Options>
             <name>GoogleLayer</name>
             <type>G_PHYSICAL_MAP</type>
-            <isBaseLayer>true</isBaseLayer>
-            <sphericalMercator>false</sphericalMercator>
-            <maxExtent>-141,41,-43,90</maxExtent>
           </Options>
         </Extension>
       </Map>
@@ -126,7 +123,7 @@
 * application.
  ****************************************** -->
 
-  <WidgetSet xsi:type="WidgetSetType">
+  <WidgetSet>
 
 <!-- ****************************************** 
 * ContextMenu (Tasks)
@@ -134,14 +131,14 @@
 * Menu available to the Task Pane
  ****************************************** -->
 
-    <Container xsi:type="UiItemContainerType">
+    <Container>
       <Name>TaskContextMenu</Name>
       <Type>ContextMenu</Type>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuMeasure</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarBuffer</Widget>
       </Item>
@@ -153,124 +150,124 @@
 * Menu available to the Map on right-click
  ****************************************** -->
 
-    <Container xsi:type="UiItemContainerType">
+    <Container>
       <Name>MapContextMenu</Name>
       <Type>ContextMenu</Type>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuRefreshMap</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuPan</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuZoomInRectangle</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuZoomInFixed</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuZoomOutFixed</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="FlyoutItemType">
+      <Item>
         <Function>Flyout</Function>
         <Label>Zoom</Label>
         <Tooltip>Open the zoom menu</Tooltip>
         <ImageUrl/>
         <ImageClass/>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuInitialMapView</Widget>
         </Item>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuPreviousView</Widget>
         </Item>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuNextView</Widget>
         </Item>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuInitialMapScaleAndCenter</Widget>
         </Item>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuZoomSelection</Widget>
         </Item>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuSelect</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuClearSelection</Widget>
       </Item>
-      <Item xsi:type="FlyoutItemType">
+      <Item>
         <Function>Flyout</Function>
         <Label>Select More</Label>
         <Tooltip>Open the select menu</Tooltip>
         <ImageUrl/>
         <ImageClass/>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuSelectRadius</Widget>
         </Item>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuSelectPolygon</Widget>
         </Item>
-        <Item xsi:type="WidgetItemType">
+        <Item>
           <Function>Widget</Function>
           <Widget>menuSelectWithin</Widget>
         </Item>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuBuffer</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuMeasure</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
 
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuViewOptions</Widget>
       </Item>
 
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
 
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuHelp</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>menuAbout</Widget>
       </Item>
@@ -282,86 +279,86 @@
 * 
  ****************************************** -->
 
-    <Container xsi:type="UiItemContainerType">
+    <Container>
       <Name>Toolbar</Name>
       <Type>Toolbar</Type>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>MapMenu</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarHelp</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarViewOptions</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>GetPrintablePage</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>Select</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>Pan</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>ZoomInRectangle</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>ZoomInFixed</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>ZoomOutFixed</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarSecondaryInitialMapView</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarSecondaryPreviousView</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarSecondaryNextView</Widget>
       </Item>
-      <Item xsi:type="SeparatorItemType">
+      <Item>
         <Function>Separator</Function>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarSecondaryZoomSelection</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarSelectPolygon</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarSelectRadius</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarMeasure</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>toolbarSaveMap</Widget>
       </Item>
@@ -375,22 +372,22 @@
  ****************************************** -->
 
 
-    <Container xsi:type="UiItemContainerType">
+    <Container>
       <Name>Statusbar</Name>
       <Type>Splitterbar</Type>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>StatusCoords</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>StatusSelection</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>StatusScale</Widget>
       </Item>
-      <Item xsi:type="WidgetItemType">
+      <Item>
         <Function>Widget</Function>
         <Widget>StatusViewSize</Widget>
       </Item>
@@ -398,11 +395,11 @@
 
 <!-- MAP -->
 
-    <MapWidget xsi:type="WidgetType">
+    <MapWidget>
       <Name>Map</Name>
       <Type>Map</Type>
       <StatusText>The map.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <MenuContainer>MapContextMenu</MenuContainer>
         <!--Scales>100000,50000,25000,12500,8000,4000</Scales-->
       </Extension>
@@ -417,7 +414,7 @@
 
 <!-- CONTEXT MENU PAN -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuPan</Name>
       <Type>Pan</Type>
       <StatusText>Drag the map to view areas out of range.</StatusText>
@@ -430,11 +427,11 @@
 
 <!-- CONTEXT MENU ZOOM RECTANGLE -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuZoomInRectangle</Name>
       <Type>Zoom</Type>
       <StatusText>Zoom in on an area.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Tolerance>5</Tolerance>
         <Factor>2</Factor>
       </Extension>
@@ -447,11 +444,11 @@
 
 <!-- CONTEXT MENU ZOOM FIXED (IN) -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuZoomInFixed</Name>
       <Type>ZoomOnClick</Type>
       <StatusText>Zoom in by a preset increment.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Factor>2</Factor>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -463,7 +460,7 @@
 
 <!-- CONTEXT MENU REFRESH MAP -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuRefreshMap</Name>
       <Type>RefreshMap</Type>
       <StatusText>Refreshes the map image.</StatusText>
@@ -476,11 +473,11 @@
 
 <!-- CONTEXT MENU ZOOM FIXED (OUT) -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuZoomOutFixed</Name>
       <Type>ZoomOnClick</Type>
       <StatusText>Zoom out by a preset increment</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Factor>0.5</Factor>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -492,11 +489,11 @@
 
 <!-- CONTEXT MENU INITIAL MAP VIEW -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuInitialMapView</Name>
       <Type>InitialMapView</Type>
       <StatusText>Fit the extents of the map to the window</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <ViewType>extent</ViewType>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -508,11 +505,11 @@
 
 <!-- CONTEXT MENU PREVIOUS VIEW -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuPreviousView</Name>
       <Type>ExtentHistory</Type>
       <StatusText>Go to previous view.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Direction>previous</Direction>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -524,11 +521,11 @@
 
 <!-- CONTEXT MENU NEXT VIEW -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuNextView</Name>
       <Type>ExtentHistory</Type>
       <StatusText>Go to next view.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Direction>next</Direction>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -540,11 +537,11 @@
 
 <!-- CONTEXT MENU INITIAL MAP VIEW -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuInitialMapScaleAndCenter</Name>
       <Type>InitialMapView</Type>
       <StatusText>Zoom to initial map center and scale.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <ViewType>center</ViewType>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -556,7 +553,7 @@
 
 <!-- CONTEXT MENU ZOOM SELECTION -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuZoomSelection</Name>
       <Type>ZoomToSelection</Type>
       <StatusText>Zoom to the extents of the current selection.</StatusText>
@@ -569,7 +566,7 @@
 
 <!-- CONTEXT MENU SELECT -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuSelect</Name>
       <Type>Select</Type>
       <StatusText>Select features by clicking and dragging.</StatusText>
@@ -582,7 +579,7 @@
 
 <!-- CONTEXT MENU CLEAR SELECTION -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuClearSelection</Name>
       <Type>ClearSelection</Type>
       <StatusText>Clears the current selection.</StatusText>
@@ -595,7 +592,7 @@
 
 <!-- CONTEXT MENU SELECT RADIUS -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuSelectRadius</Name>
       <Type>SelectRadius</Type>
       <StatusText>Click and drag to select all features inside a circle.</StatusText>
@@ -608,7 +605,7 @@
 
 <!-- CONTEXT MENU SELECT POLYGON -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuSelectPolygon</Name>
       <Type>SelectPolygon</Type>
       <StatusText>Create a polygon and select all features that fall within.</StatusText>
@@ -621,7 +618,7 @@
 
 <!-- CONTEXT MENU SELECT WITHIN -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuSelectWithin</Name>
       <Type>SelectWithin</Type>
       <StatusText>Select all features that fall within the currently selected area.</StatusText>
@@ -634,7 +631,7 @@
 
 <!-- CONTEXT MENU BUFFER -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuBuffer</Name>
       <Type>BufferPanel</Type>
       <StatusText>Create buffers around the selected features</StatusText>
@@ -647,11 +644,11 @@
 
 <!-- CONTEXT MENU  VIEW OPTIONS -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuViewOptions</Name>
       <Type>ViewOptions</Type>
       <StatusText>Switch between Imperial and Metric units</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <DisplayUnits>degrees</DisplayUnits>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -663,7 +660,7 @@
 
 <!-- CONTEXT MENU HELP -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuHelp</Name>
       <Type>Help</Type>
       <StatusText/>
@@ -676,7 +673,7 @@
 
 <!-- CONTEXT MENU ABOUT -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuAbout</Name>
       <Type>About</Type>
       <StatusText/>
@@ -689,11 +686,11 @@
 
 <!-- CONTEXT MENU MEASURE -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>menuMeasure</Name>
       <Type>Measure</Type>
       <StatusText>Measure distances and areas on the map.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Type>both</Type>
         <MeasureTooltipContainer>MeasureResult</MeasureTooltipContainer>
         <MeasureTooltipType>dynamic</MeasureTooltipType>
@@ -717,7 +714,7 @@
 
 <!-- TOOLBAR BUFFER -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarBuffer</Name>
       <Type>BufferPanel</Type>
       <StatusText>Create buffers around the selected features</StatusText>
@@ -733,7 +730,7 @@
 
 <!-- TOOLBAR REFRESH MAP -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarRefreshMap</Name>
       <Type>RefreshMap</Type>
       <StatusText>Refreshes the map image.</StatusText>
@@ -746,11 +743,11 @@
 
 <!-- TOOLBAR MEASURE -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarMeasure</Name>
       <Type>Measure</Type>
       <StatusText>Measure distances and areas on the map.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Type>both</Type>
         <MeasureTooltipContainer>MeasureResult</MeasureTooltipContainer>
         <MeasureTooltipType>dynamic</MeasureTooltipType>
@@ -766,11 +763,11 @@
       <Disabled/>
     </Widget>
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSaveMap</Name>
       <Type>SaveMap</Type>
       <StatusText></StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
       </Extension>
       <Tooltip>SaveMap</Tooltip>
       <Label>Save Map</Label>
@@ -779,11 +776,11 @@
 
 <!-- TOOLBAR VIEW OPTIONS -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarViewOptions</Name>
       <Type>ViewOptions</Type>
       <StatusText>Switch between Imperial and Metric units</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <DisplayUnits>meters</DisplayUnits>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -795,7 +792,7 @@
 
 <!-- TOOLBAR HELP -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarHelp</Name>
       <Type>Help</Type>
       <StatusText/>
@@ -808,7 +805,7 @@
 
 <!-- TOOLBAR ABOUT -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarAbout</Name>
       <Type>About</Type>
       <StatusText/>
@@ -821,7 +818,7 @@
 
 <!-- TOOLBAR CLEAR SELECTION -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarClearSelection</Name>
       <Type>ClearSelection</Type>
       <StatusText>Clears the current selection.</StatusText>
@@ -834,7 +831,7 @@
 
 <!-- TOOLBAR SELECT RADIUS -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSelectRadius</Name>
       <Type>SelectRadius</Type>
       <StatusText>Click and drag to select all features inside a circle.</StatusText>
@@ -850,7 +847,7 @@
 
 <!-- TOOLBAR SELECT POLYGON -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSelectPolygon</Name>
       <Type>SelectPolygon</Type>
       <StatusText>Create a polygon and select all features that fall within.</StatusText>
@@ -871,11 +868,11 @@
 
 <!-- SECONDARY TOOLBAR INITIAL MAP VIEW -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSecondaryInitialMapView</Name>
       <Type>InitialMapView</Type>
       <StatusText>Fit the extents of the map to the window</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <ViewType>extent</ViewType>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -887,11 +884,11 @@
 
 <!-- SECONDARY TOOLBAR PREVIOUS VIEW-->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSecondaryPreviousView</Name>
       <Type>ExtentHistory</Type>
       <StatusText>Go to previous view.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Direction>previous</Direction>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -903,11 +900,11 @@
 
 <!-- SECONDARY TOOLBAR NEXT VIEW -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSecondaryNextView</Name>
       <Type>ExtentHistory</Type>
       <StatusText>Go to next view.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Direction>next</Direction>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -919,7 +916,7 @@
 
 <!-- SECONDARY TOOLBAR ZOOM SELECTION -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSecondaryZoomSelection</Name>
       <Type>ZoomToSelection</Type>
       <StatusText>Zoom to the extents of the current selection.</StatusText>
@@ -932,7 +929,7 @@
 
 <!-- SECONDARY TOOLBAR SELECT WITHIN -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>toolbarSelectWithin</Name>
       <Type>SelectWithin</Type>
       <StatusText>Select all features that fall within the currently selected area.</StatusText>
@@ -956,11 +953,11 @@
 
 <!-- STATUS POSITION -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>StatusCoords</Name>
       <Type>CursorPosition</Type>
       <StatusText/>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Template>X: {x} {units}, Y: {y} {units}</Template>
         <Precision>4</Precision>
         <EmptyText>&amp;nbsp;</EmptyText>
@@ -969,7 +966,7 @@
 
 <!-- STATUS SELECTION INFO -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>StatusSelection</Name>
       <Type>SelectionInfo</Type>
       <StatusText/>
@@ -980,7 +977,7 @@
 
 <!-- STATUS SCALE -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>StatusScale</Name>
       <Type>EditableScale</Type>
       <StatusText/>
@@ -988,11 +985,11 @@
 
 <!-- STATUS VIEWSIZE -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>StatusViewSize</Name>
       <Type>ViewSize</Type>
       <StatusText/>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Template>{w} x {h} ({units})</Template>
         <Precision>2</Precision>
       </Extension>
@@ -1007,7 +1004,7 @@
 <!-- LEGEND 
 -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>Legend</Name>
       <Type>Legend</Type>
       <Extension>
@@ -1017,7 +1014,7 @@
     </Widget>
 <!-- SELECTION -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>SelectionPanel</Name>
       <Type>SelectionPanel</Type>
       <StatusText/>
@@ -1025,7 +1022,7 @@
 
 <!-- TASKS -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>TaskPane</Name>
       <Type>TaskPane</Type>
       <StatusText/>
@@ -1042,20 +1039,20 @@
 
 <!-- INMAP NAVIGATOR -->
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>Navigator</Name>
       <Type>Navigator</Type>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
       </Extension>
     </Widget>
 
 <!-- ZOOM IN RECTANGLE -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>ZoomInRectangle</Name>
       <Type>Zoom</Type>
       <StatusText>Zoom in on an area.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Tolerance>5</Tolerance>
         <Factor>2</Factor>
       </Extension>
@@ -1068,11 +1065,11 @@
 
 <!-- ZOOM ON CLICK (IN) -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>ZoomInFixed</Name>
       <Type>ZoomOnClick</Type>
       <StatusText>Zoom in by a preset increment.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Factor>4</Factor>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -1084,11 +1081,11 @@
 
 <!-- ZOOM ON CLICK (OUT) -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>ZoomOutFixed</Name>
       <Type>ZoomOnClick</Type>
       <StatusText>Zoom out by a preset increment</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <Factor>0.5</Factor>
       </Extension>
       <ImageUrl>images/icons.png</ImageUrl>
@@ -1100,7 +1097,7 @@
 
 <!-- SELECT -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>Select</Name>
       <Type>Select</Type>
       <StatusText>Select features by clicking and dragging.</StatusText>
@@ -1130,22 +1127,22 @@
 <!-- OVERVIEW MAP -->
 
 
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>OverviewMap</Name>
       <Type>OverviewMap</Type>
       <Description/>
-      <Extension xsi:type="CustomContentType">
-        <MapId>sheboygan</MapId>
+      <Extension>
+        <!--MapId>sheboygan</MapId-->
       </Extension>
     </Widget>
     
 <!-- PRINT -->
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>GetPrintablePage</Name>
       <Type>Print</Type>
       <StatusText>Get printer-friendly page.</StatusText>
-      <Extension xsi:type="CustomContentType">
+      <Extension>
         <ShowPrintUI>true</ShowPrintUI>
         <ShowTitle>true</ShowTitle>
         <PageTitle>Some Title</PageTitle>
@@ -1161,7 +1158,7 @@
     </Widget>
 
 <!-- PAN -->
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
     
       <Name>Pan</Name>
       <Type>Pan</Type>
@@ -1173,12 +1170,12 @@
       <Disabled/>
     </Widget>
 
-    <Widget xsi:type="UiWidgetType">
+    <Widget>
       <Name>Scalebar</Name>
       <Type>ScalebarDual</Type>
     </Widget>
     
-    <Widget xsi:type="WidgetType">
+    <Widget>
       <Name>MapTip</Name>
       <Type>Maptip</Type>
       <Extension>

Modified: branches/fusion-2.2/templates/mapguide/standard/index.html
===================================================================
--- branches/fusion-2.2/templates/mapguide/standard/index.html	2010-10-26 19:44:48 UTC (rev 2263)
+++ branches/fusion-2.2/templates/mapguide/standard/index.html	2010-10-28 18:30:18 UTC (rev 2264)
@@ -3,6 +3,8 @@
 <html>
 <head>
 <title>Sample Fusion Application</title>
+<!-- uncomment for Google layers -->
+<!-- script type="text/javascript" src='http://maps.google.com/maps/api/js?sensor=false'></script-->
 <!-- change the source of the following tag to point to your fusion installation -->
 <script type="text/javascript" src="../../../lib/fusion.js"></script>
 <link rel="stylesheet" href="themes/delicious/jxtheme.css" type="text/css" media="screen" charset="utf-8">
@@ -34,6 +36,7 @@
 <![endif]-->
 <script type="text/javascript">
 window.onload = function() {
+	
     /* make 'thePage' just fill the browser window and resize automagically
        the user resizes the browser */
     new Jx.Layout('thePage').resize();



More information about the fusion-commits mailing list