[OpenLayers-Commits] r12317 - in trunk/openlayers: apidoc_config doc_config examples lib lib/OpenLayers/Layer lib/OpenLayers/Tile tests tests/Layer tests/Tile

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Thu Sep 1 15:07:39 EDT 2011


Author: tschaub
Date: 2011-09-01 12:07:37 -0700 (Thu, 01 Sep 2011)
New Revision: 12317

Removed:
   trunk/openlayers/examples/google-ng.html
   trunk/openlayers/examples/google-ng.js
   trunk/openlayers/lib/OpenLayers/Layer/GoogleNG.js
   trunk/openlayers/lib/OpenLayers/Tile/Google.js
   trunk/openlayers/tests/Layer/GoogleNG.html
   trunk/openlayers/tests/Tile/Google.html
Modified:
   trunk/openlayers/apidoc_config/Menu.txt
   trunk/openlayers/doc_config/Menu.txt
   trunk/openlayers/lib/OpenLayers.js
   trunk/openlayers/tests/list-tests.html
Log:
Despite our best efforts to comply, we have been told that this layer violates the Google Maps Terms of Service.  Without rendering their full map interface, they have no way of controlling the user experience, dropping in ads, and the like. (closes #3481)

Modified: trunk/openlayers/apidoc_config/Menu.txt
===================================================================
--- trunk/openlayers/apidoc_config/Menu.txt	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/apidoc_config/Menu.txt	2011-09-01 19:07:37 UTC (rev 12317)
@@ -352,7 +352,6 @@
       File: GML  (no auto-title, OpenLayers/Layer/GML.js)
       File: Google  (no auto-title, OpenLayers/Layer/Google.js)
       File: Google.v3  (no auto-title, OpenLayers/Layer/Google/v3.js)
-      File: GoogleNG  (no auto-title, OpenLayers/Layer/GoogleNG.js)
       File: Grid  (no auto-title, OpenLayers/Layer/Grid.js)
       File: HTTPRequest  (no auto-title, OpenLayers/Layer/HTTPRequest.js)
       File: Image  (no auto-title, OpenLayers/Layer/Image.js)
@@ -475,7 +474,6 @@
    Group: Tile  {
 
       File: Tile  (no auto-title, OpenLayers/Tile.js)
-      File: Google  (no auto-title, OpenLayers/Tile/Google.js)
       File: Image  (no auto-title, OpenLayers/Tile/Image.js)
       File: Image.IFrame  (no auto-title, OpenLayers/Tile/Image/IFrame.js)
       File: WFS  (no auto-title, OpenLayers/Tile/WFS.js)

Modified: trunk/openlayers/doc_config/Menu.txt
===================================================================
--- trunk/openlayers/doc_config/Menu.txt	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/doc_config/Menu.txt	2011-09-01 19:07:37 UTC (rev 12317)
@@ -352,7 +352,6 @@
       File: GML  (no auto-title, OpenLayers/Layer/GML.js)
       File: Google  (no auto-title, OpenLayers/Layer/Google.js)
       File: Google.v3  (no auto-title, OpenLayers/Layer/Google/v3.js)
-      File: GoogleNG  (no auto-title, OpenLayers/Layer/GoogleNG.js)
       File: Grid  (no auto-title, OpenLayers/Layer/Grid.js)
       File: HTTPRequest  (no auto-title, OpenLayers/Layer/HTTPRequest.js)
       File: Image  (no auto-title, OpenLayers/Layer/Image.js)
@@ -475,7 +474,6 @@
    Group: Tile  {
 
       File: Tile  (no auto-title, OpenLayers/Tile.js)
-      File: Google  (no auto-title, OpenLayers/Tile/Google.js)
       File: Image  (no auto-title, OpenLayers/Tile/Image.js)
       File: Image.IFrame  (no auto-title, OpenLayers/Tile/Image/IFrame.js)
       File: WFS  (no auto-title, OpenLayers/Tile/WFS.js)

Deleted: trunk/openlayers/examples/google-ng.html
===================================================================
--- trunk/openlayers/examples/google-ng.html	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/examples/google-ng.html	2011-09-01 19:07:37 UTC (rev 12317)
@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
-        <meta name="apple-mobile-web-app-capable" content="yes">
-        <title>OpenLayers Google NG Layer Example</title>
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
-        <link rel="stylesheet" href="../theme/default/google.css" type="text/css">
-        <link rel="stylesheet" href="style.css" type="text/css">
-        <style type="text/css">
-        .olControlAttribution {
-            left: 2px;
-            right: inherit;
-            bottom: 3px; 
-            line-height: 11px;
-            font-family: Arial, sans-serif;
-        }
-        </style>
-        <script src="http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false"></script>
-        <script src="../lib/OpenLayers.js"></script>
-        <script src="google-ng.js"></script>
-    </head>
-    <body onload="init()">
-        <h1 id="title">Google NG Layer Example</h1>
-        <div id="tags">
-            Google, api key, apikey
-        </div>
-        <p id="shortdesc">
-            Demonstrate use of tiles from the Google Maps v3 API.
-        </p>
-        <div id="map" class="smallmap"></div>
-        <div id="docs">
-            <p>
-                If you use OpenLayers.Layer.GoogleNG, the getTile method of the
-                GMaps v3 API's MapType is used to load tiles.  This allows for
-                better integration than interacting with a whole map generated
-                by a google.maps.Map instance, as done with
-                OpenLayers.Layer.Google.  See the
-                <a href="google-ng.js" target="_blank">google-ng.js source</a> 
-                to see how this is done.
-            </p>
-        </div>
-    </body>
-</html>

Deleted: trunk/openlayers/examples/google-ng.js
===================================================================
--- trunk/openlayers/examples/google-ng.js	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/examples/google-ng.js	2011-09-01 19:07:37 UTC (rev 12317)
@@ -1,28 +0,0 @@
-var map;
-
-function init() {
-    map = new OpenLayers.Map('map');
-    map.addControl(new OpenLayers.Control.LayerSwitcher());
-    
-    var gphy = new OpenLayers.Layer.GoogleNG(
-        {type: google.maps.MapTypeId.TERRAIN}
-    );
-    var gmap = new OpenLayers.Layer.GoogleNG(
-        // ROADMAP, the default
-    );
-    var ghyb = new OpenLayers.Layer.GoogleNG(
-        {type: google.maps.MapTypeId.HYBRID}
-    );
-    var gsat = new OpenLayers.Layer.GoogleNG(
-        {type: google.maps.MapTypeId.SATELLITE}
-    );
-
-    map.addLayers([gphy, gmap, ghyb, gsat]);
-
-    // GoogleNG uses EPSG:900913 as projection, so we have to
-    // transform our coordinates
-    map.setCenter(new OpenLayers.LonLat(10.2, 48.9).transform(
-        new OpenLayers.Projection("EPSG:4326"),
-        map.getProjectionObject()
-    ), 5);
-}

Deleted: trunk/openlayers/lib/OpenLayers/Layer/GoogleNG.js
===================================================================
--- trunk/openlayers/lib/OpenLayers/Layer/GoogleNG.js	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/lib/OpenLayers/Layer/GoogleNG.js	2011-09-01 19:07:37 UTC (rev 12317)
@@ -1,336 +0,0 @@
-/* Copyright (c) 2006-2011 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/XYZ.js
- * @requires OpenLayers/Tile/Google.js
- * @requires OpenLayers/Layer/SphericalMercator.js
- */
-
-/** 
- * Class: OpenLayers.Layer.GoogleNG
- * Google layer using <OpenLayers.Tile.Google> tiles.
- * 
- * Inherits from:
- *  - <OpenLayers.Layer.XYZ>
- */
-OpenLayers.Layer.GoogleNG = OpenLayers.Class(OpenLayers.Layer.XYZ, {
-
-    /**
-     * Property: SUPPORTED_TRANSITIONS
-     * {Array} An immutable (that means don't change it!) list of supported 
-     *     transitionEffect values. This layer type supports none.
-     */
-    SUPPORTED_TRANSITIONS: [],
-    
-    /**
-     * Property: serverResolutions
-     * {Array} the resolutions provided by the Google API.
-     */
-    serverResolutions: [
-        156543.03390625, 78271.516953125, 39135.7584765625,
-        19567.87923828125, 9783.939619140625, 4891.9698095703125,
-        2445.9849047851562, 1222.9924523925781, 611.4962261962891,
-        305.74811309814453, 152.87405654907226, 76.43702827453613,
-        38.218514137268066, 19.109257068634033, 9.554628534317017,
-        4.777314267158508, 2.388657133579254, 1.194328566789627,
-        0.5971642833948135, 0.29858214169740677, 0.14929107084870338,
-        0.07464553542435169, 0.037322767712175846
-    ],
-    
-    /**
-     * Property: attributionTemplate
-     * {String}
-     */
-    attributionTemplate: '<span class="olGoogleAttribution ${mapType}">' +
-         '<div><a title="Click to see this area on Google Maps" ' + 
-         'target="_blank" href="http://maps.google.com/maps?' +
-         'll=${center}&z=${zoom}&t=${t}"><img width="62" height="24" ' +
-         'src="http://maps.gstatic.com/mapfiles/google_white.png"/></a>' +
-         '</div>${mapData}<a style="white-space: nowrap" target="_blank" ' +
-         'href="http://www.google.com/help/terms_maps.html">' +
-         'Terms of Use</a></span>',
-    
-    /**
-     * Property: mapTypes
-     * {Object} mapping of {google.maps.MapTypeId} to the t param of
-     * http://maps.google.com/maps? permalinks
-     */
-    mapTypes: {
-        "roadmap": "m",
-        "satellite": "k",
-        "hybrid": "h",
-        "terrain": "p"
-    },
-    
-    /**
-     * APIProperty: type
-     * {google.maps.MapTypeId} See
-     * http://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeId
-     */
-    type: null,
-    
-    /**
-     * Constructor: OpenLayers.Layer.GoogleNG
-     * Create a new GoogleNG layer. Requires the GMaps v3 JavaScript API script
-     * (http://maps.google.com/maps/api/js?v=3.5&amp;sensor=false) loaded in
-     * the html document. Note: Terms of Service compliant use requires the map
-     * to be configured with an <OpenLayers.Control.Attribution> control and
-     * the attribution placed on the map.
-     *
-     * Example:
-     * (code)
-     * var terrain = new OpenLayers.Layer.GoogleNG({
-     *     name: "Google Terrain",
-     *     type: google.maps.MapTypeId.TERRAIN
-     * });
-     * (end)
-     *
-     * Parameters:
-     * options - {Object} Configuration properties for the layer.
-     *
-     * Required configuration properties:
-     * type - {google.maps.MapTypeId} The layer identifier.  See
-     *     http://code.google.com/apis/maps/documentation/javascript/reference.html#MapTypeId
-     *     for valid types.
-     *
-     * Any other documented layer properties can be provided in the config object.
-     */
-    initialize: function(options) {
-        options = OpenLayers.Util.applyDefaults({
-            sphericalMercator: true
-        }, options);
-
-        if (!options.type) {
-            options.type = google.maps.MapTypeId.ROADMAP;
-        }
-        var newArgs = [options.name, null, options];
-        OpenLayers.Layer.XYZ.prototype.initialize.apply(this, newArgs);
-        
-        if (!OpenLayers.Layer.GoogleNG.mapObject) {
-            OpenLayers.Layer.GoogleNG.mapObject =
-                new google.maps.Map(document.createElement("div"));
-        }
-        if (OpenLayers.Layer.GoogleNG.mapObject.mapTypes[this.type]) {
-            this.initLayer();
-        } else {
-            google.maps.event.addListenerOnce(
-                OpenLayers.Layer.GoogleNG.mapObject, 
-                "idle", 
-                OpenLayers.Function.bind(this.initLayer, this)
-            );
-        }
-    },
-
-    /**
-     * Method: initLayer
-     *
-     * Sets layer properties according to the metadata provided by the API
-     */
-    initLayer: function() {
-        var mapType = OpenLayers.Layer.GoogleNG.mapObject.mapTypes[this.type];
-        if (!this.name) {
-            this.setName("Google " + mapType.name);
-        }
-        
-        var minZoom = mapType.minZoom || 0;
-        this.addOptions({
-            maxResolution: Math.min(
-                this.serverResolutions[minZoom], this.maxResolution
-            ),
-            zoomOffset: minZoom,
-            numZoomLevels: Math.min(
-                mapType.maxZoom + 1 - minZoom, this.numZoomLevels
-            )
-        }, true);
-    },
-
-    /**
-     * Method: addTile
-     * Create a tile, initialize it, and add it to the layer div. 
-     *
-     * Parameters
-     * bounds - {<OpenLayers.Bounds>}
-     * position - {<OpenLayers.Pixel>}
-     *
-     * Returns:
-     * {<OpenLayers.Tile.Google>} The added OpenLayers.Tile.Google
-     */
-    addTile:function(bounds, position) {
-        return new OpenLayers.Tile.Google(
-            this, position, bounds, this.tileOptions
-        );
-    },
-    
-    /**
-     * Method: updateAttribution
-     * Updates the attribution using the <attributionTemplate>
-     *
-     * Parameters:
-     * copyrights - {Object} Object with "m", "k", "h" and "p" properties (see
-     *     <mapTypes>), each holding an array of copyrights.
-     */
-    updateAttribution: function(copyrights) {
-        var myCopyrights;
-        if (this.type == google.maps.MapTypeId.HYBRID) {
-            // the Copyright Service returns "k" and "m" copyrights for the
-            // HYBRID layer type.
-            var candidates = [].concat(
-                copyrights["h"], copyrights["k"], copyrights["m"]
-            );
-            myCopyrights = [];
-            for (var i=candidates.length-1; i>=0; --i) {
-                if (OpenLayers.Util.indexOf(candidates, myCopyrights) == -1) {
-                    myCopyrights.push(candidates[i]);
-                }
-            }
-        } else {
-            myCopyrights = copyrights[this.mapTypes[this.type]];
-        }
-        var mapData = myCopyrights.length == 0 ? "" :
-            "Map Data &copy;" + new Date().getFullYear() + " " +
-            myCopyrights.join(", ") + " - ";
-        var center = this.map.getCenter();
-        center && center.transform(
-            this.map.getProjectionObject(),
-            new OpenLayers.Projection("EPSG:4326")
-        );
-        var size = this.map.getSize();
-        this.attribution = OpenLayers.String.format(this.attributionTemplate, {
-            t: this.mapTypes[this.type],
-            zoom: this.map.getZoom(),
-            center: center.lat + "," + center.lon,
-            mapType: this.type,
-            mapData: mapData
-        });
-        this.map && this.map.events.triggerEvent("changelayer", {
-            layer: this,
-            property: "attribution"
-        });
-    },
-    
-    /**
-     * Method: setMap
-     */
-    setMap: function() {
-        OpenLayers.Layer.XYZ.prototype.setMap.apply(this, arguments);
-        this.events.register("moveend", this,
-            OpenLayers.Layer.GoogleNG.loadCopyrights
-        );
-    },
-    
-    /**
-     * Method: removeMap
-     */
-    removeMap: function() {
-        OpenLayers.Layer.XYZ.prototype.removeMap.apply(this, arguments);
-        this.events.unregister("moveend", this,
-            OpenLayers.Layer.GoogleNG.loadCopyrights
-        );
-    },
-        
-    /**
-     * APIMethod: clone
-     * 
-     * Parameters:
-     * obj - {Object}
-     * 
-     * Returns:
-     * {<OpenLayers.Layer.GoogleNG>} An exact clone of this
-     * <OpenLayers.Layer.GoogleNG>
-     */
-    clone: function(obj) {
-        if (obj == null) {
-            obj = new OpenLayers.Layer.GoogleNG(this.options);
-        }
-        //get all additions from superclasses
-        obj = OpenLayers.Layer.XYZ.prototype.clone.apply(this, [obj]);
-        // copy/set any non-init, non-simple values here
-        return obj;
-    },
-    
-    CLASS_NAME: "OpenLayers.Layer.GoogleNG"
-});
-
-/**
- * Property: mapObject
- * {google.maps.Map} Shared GMaps instance - will be set upon instantiation of
- * the 1st GoogleNG layer
- */
-OpenLayers.Layer.GoogleNG.mapObject = null;
-
-/**
- * Function: loadCopyrights
- * Using the Google Maps Copyright Service mode (see
- * http://mapki.com/wiki/Google_Map_Parameters#Misc) to get the attribution for
- * the current map extent. Will be called by each GoogleNG layer instance on
- * moveend. 
- */
-OpenLayers.Layer.GoogleNG.loadCopyrights = function() {
-    var me = OpenLayers.Layer.GoogleNG.loadCopyrights;
-    if (me.numLoadingScripts == undefined) {
-        me.loadingScripts = [];
-        me.numLoadingScripts = 0;
-        me.copyrights = {"m": [], "k": [], "h": [], "p": []};
-        
-        // store window scope functions before overwriting them
-        me.origGAddCopyright = window.GAddCopyright;
-        me.origGVerify = window.GVerify;
-        me.origGAppFeatures = window.GAppFeatures;
-        
-        // defining window scope functions called by the script that the
-        // Copyright Service returns
-        window.GAddCopyright = function() {
-            var copyright = arguments[7];
-            var category = me.copyrights[arguments[0]];
-            if (OpenLayers.Util.indexOf(category, copyright) == -1) {
-                copyright && category.push(copyright);
-            }
-        };
-        window.GVerify = OpenLayers.Function.True;
-        window.GAppFeatures = OpenLayers.Function.bind(function() {
-            me.numLoadingScripts--;
-            if (me.numLoadingScripts == 0) {
-                var script;
-                for (var i=me.loadingScripts.length-1; i>=0; --i) {
-                    script = me.loadingScripts[i][0];
-                    me.loadingScripts[i][1].updateAttribution(me.copyrights);
-                    script.parentNode.removeChild(script);
-                }
-                
-                // restore original functions
-                window.GAddCopyright = me.origGAddCopyright;
-                delete me.origGAddCopyright;
-                window.GVerify = me.origGVerify;
-                delete me.origGVerify;
-                window.GAppFeatures = me.origGAppFeatures;
-                delete me.origGAppFeatures;
-                
-                delete me.loadingScripts;
-                delete me.numLoadingScripts;
-                delete me.copyrights;
-            }
-        }, this);
-    }
-    var mapProj = this.map.getProjectionObject();
-    var llProj = new OpenLayers.Projection("EPSG:4326");
-    var center = this.map.getCenter().transform(mapProj, llProj);
-    var extent = this.map.getExtent().transform(mapProj, llProj);
-    var params = {
-        spn: extent.getHeight() + "," + extent.getWidth(),
-        z: this.map.getZoom(),
-        t: this.mapTypes[this.type],
-        vp: center.lat + "," + center.lon
-    };
-    var url = "http://maps.google.com/maps?" +
-        OpenLayers.Util.getParameterString(params);
-    var script = document.createElement("script");
-    script.type = "text/javascript";
-    script.src = url;
-    me.numLoadingScripts++;
-    me.loadingScripts.push([script, this]);
-    document.getElementsByTagName("head")[0].appendChild(script);
-};
-

Deleted: trunk/openlayers/lib/OpenLayers/Tile/Google.js
===================================================================
--- trunk/openlayers/lib/OpenLayers/Tile/Google.js	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/lib/OpenLayers/Tile/Google.js	2011-09-01 19:07:37 UTC (rev 12317)
@@ -1,154 +0,0 @@
-/* Copyright (c) 2006-2011 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/BaseTypes/Class.js
- * @requires OpenLayers/Util.js
- * @requires OpenLayers/Tile.js
- */
-
-/*
- * Class: OpenLayers.Tile.Google
- * Instances of OpenLayers.Tile.Google are used to manage the tiles created
- * by google.maps.MapType (see
- * http://code.google.com/apis/maps/documentation/javascript/reference.html#MapType).
- *
- * Inherits from:
- *  - <OpenLayers.Tile>
- */
-OpenLayers.Tile.Google = OpenLayers.Class(OpenLayers.Tile, {
-    
-    /**
-     * Property: node
-     * {DOMElement} The tile node from the MapType's getTile method
-     */
-    node: null,
-        
-    /** 
-     * Constructor: OpenLayers.Tile.Google
-     * Constructor for a new <OpenLayers.Tile.Google> instance.
-     * 
-     * Parameters:
-     * layer - {<OpenLayers.Layer>} layer that the tile will go in.
-     * position - {<OpenLayers.Pixel>}
-     * bounds - {<OpenLayers.Bounds>}
-     * options - {Object}
-     */   
-    initialize: function(layer, position, bounds, options) {
-        OpenLayers.Tile.prototype.initialize.apply(this, [
-            layer, position, bounds, null, null, options
-        ]);
-    },
-
-    /** 
-     * APIMethod: destroy
-     * Nullify references to prevent circular references and memory leaks.
-     */
-    destroy:function() {
-        this.node && this.clear();
-        this.node = null;
-        OpenLayers.Tile.prototype.destroy.apply(this, arguments);
-    },
-    
-    /**
-     * Method: clone
-     *
-     * Parameters:
-     * obj - {<OpenLayers.Tile>} The tile to be cloned
-     *
-     * Returns:
-     * {<OpenLayers.Tile>} An exact clone of this <OpenLayers.Tile.Google>
-     */
-    clone: function (obj) {
-        if (obj == null) {
-            obj = new OpenLayers.Tile.Google(this.layer, 
-                                      this.position, 
-                                      this.bounds);
-        } 
-        
-        // catch any randomly tagged-on properties
-        OpenLayers.Util.applyDefaults(obj, this);
-        
-        obj.node = null;
-        
-        return obj;
-    },
-
-    /**
-     * Method: draw
-     * Check that a tile should be drawn, and draw it.
-     * 
-     * Returns:
-     * {Boolean} Always returns true.
-     */
-    draw: function() {
-        var layerType = OpenLayers.Layer.GoogleNG.mapObject.mapTypes[
-            this.layer.type
-        ];
-        if (layerType && OpenLayers.Tile.prototype.draw.apply(this, arguments)) {
-            var xyz = this.layer.getXYZ(this.bounds);
-            var point = new google.maps.Point(xyz.x, xyz.y);
-
-            // The hybrid tile consists of two images. For some reason, we have
-            // to make sure that the satellite image loads first, otherwise we
-            // occasionally get blank tiles for one of the two images. This is
-            // done by requesting the tile for just the satellite mapType
-            // first, before requesting the hybrid one.
-            //TODO revisit this - it may be a temporary issue with GMaps
-            var tempTile;
-            if (this.layer.type === google.maps.MapTypeId.HYBRID) {
-                tempTile = layerType.getTile(point, xyz.z, document);
-            }
-            
-            this.node = layerType.getTile(point, xyz.z, document);
-                        
-            this.isLoading = true;
-            this.events.triggerEvent("loadstart");
-
-            this.layer.div.appendChild(this.node);
-            
-            // We only modify what we need to - we expect the size to be set
-            // by getTile, and we have a test that will fail if this changes.
-            OpenLayers.Util.modifyDOMElement(
-                this.node, null, this.position, null, "absolute"
-            );  
-            
-            // The images inside the node returned from getTile seem to be
-            // preloaded already, so registering onload events on these images
-            // won't work. Instead, we trigger the loadend event immediately
-            // in the next cycle.
-            window.setTimeout(OpenLayers.Function.bind(function() {
-                this.isLoading = false;
-                // check for this.events - we may be destroyed already
-                this.events && this.events.triggerEvent("loadend"); 
-
-                // see hybrid tile issue above
-                //TODO revisit this - it may be a temporary issue with GMaps
-                if (tempTile) {
-                    layerType.releaseTile(tempTile);
-                }
-            }, this), 0);
-        }
-        return true;
-    },
-    
-    /** 
-     * Method: clear
-     * Clear the tile of any bounds/position-related data so that it can 
-     *     be reused in a new location. To be implemented by subclasses.
-     */
-    clear: function() {
-        if (this.node) {
-            this.node.parentNode &&
-                this.node.parentNode.removeChild(this.node);
-            OpenLayers.Layer.GoogleNG.mapObject.mapTypes[
-                this.layer.type
-            ].releaseTile(this.node);
-        }
-    },
-    
-    CLASS_NAME: "OpenLayers.Tile.Google"
-});

Modified: trunk/openlayers/lib/OpenLayers.js
===================================================================
--- trunk/openlayers/lib/OpenLayers.js	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/lib/OpenLayers.js	2011-09-01 19:07:37 UTC (rev 12317)
@@ -122,7 +122,6 @@
                 "OpenLayers/Popup.js",
                 "OpenLayers/Tile.js",
                 "OpenLayers/Tile/BackBufferable.js",
-                "OpenLayers/Tile/Google.js",
                 "OpenLayers/Tile/Image.js",
                 "OpenLayers/Tile/Image/IFrame.js",
                 "OpenLayers/Tile/WFS.js",
@@ -155,7 +154,6 @@
                 "OpenLayers/Layer/Boxes.js",
                 "OpenLayers/Layer/XYZ.js",
                 "OpenLayers/Layer/Bing.js",
-                "OpenLayers/Layer/GoogleNG.js",
                 "OpenLayers/Layer/TMS.js",
                 "OpenLayers/Layer/TileCache.js",
                 "OpenLayers/Layer/Zoomify.js",

Deleted: trunk/openlayers/tests/Layer/GoogleNG.html
===================================================================
--- trunk/openlayers/tests/Layer/GoogleNG.html	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/tests/Layer/GoogleNG.html	2011-09-01 19:07:37 UTC (rev 12317)
@@ -1,104 +0,0 @@
-<html>
-<head>
-  <script src="http://maps.google.com/maps/api/js?sensor=false&v=3.5"></script>
-  <script src="../OLLoader.js"></script>
-  <script type="text/javascript">
-    var map, layer; 
-
-    function test_constructor(t) {
-        t.plan(2);
-                       
-        layer = new OpenLayers.Layer.GoogleNG({type: google.maps.MapTypeId.HYBRID});
-        t.ok(layer instanceof OpenLayers.Layer.GoogleNG, "returns OpenLayers.Layer.GoogleNG object" );
-        t.eq(layer.type, google.maps.MapTypeId.HYBRID, "Layer type set");
-    }
-    
-    function test_initLayer(t) {
-        t.plan(6);
-
-        map = new OpenLayers.Map("map");
-        var log = {};
-        layer = new OpenLayers.Layer.GoogleNG({
-            numZoomLevels: 10,
-            maxResolution: 39135.7584765625,
-            initLayer: function() {
-                log[layer.id] = true;
-                OpenLayers.Layer.GoogleNG.prototype.initLayer.apply(this, arguments);
-            }
-        });
-        map.addLayer(layer);
-        map.zoomToMaxExtent();
-        
-        var map2 = new OpenLayers.Map("map2");
-        var minZoom = 1;
-        var layer2 = new OpenLayers.Layer.GoogleNG({
-            numZoomLevels: 24,
-            initLayer: function() {
-                log[layer2.id] = true;
-                var origMinZoom = OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].minZoom;
-                // pretend the API reports a different minZoom
-                OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].minZoom = minZoom;
-                OpenLayers.Layer.GoogleNG.prototype.initLayer.apply(this, arguments);
-                OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].minZoom = origMinZoom;
-            }
-        });
-        map2.addLayer(layer2);
-        map2.zoomToMaxExtent();
-        
-        t.delay_call(1, function() {
-            t.eq(log[layer.id], true, "initLayer called for 1st layer");
-            t.eq(log[layer2.id], true, "initLayer called for 2nd layer");
-            
-            t.eq(layer.numZoomLevels, 10, "numZoomLevels from configuration takes precedence if lower");
-            t.eq(layer2.numZoomLevels, OpenLayers.Layer.GoogleNG.mapObject.mapTypes[layer2.type].maxZoom + 1 - minZoom, "numZoomLevels from API takes precedence if lower");
-
-            t.eq(layer.maxResolution, 39135.7584765625, "maxResolution from configuration takes precedence if higher");
-            t.eq(layer2.maxResolution, 78271.516953125, "maxResolution from API takes precedence if higher");
-
-            map.destroy();
-            map2.destroy();            
-        });
-    }
-    
-    function test_attribution(t) {
-        t.plan(4);
-        
-        var log = [];
-        map = new OpenLayers.Map("map");
-        layer = new OpenLayers.Layer.GoogleNG({
-            type: google.maps.MapTypeId.HYBRID,
-            updateAttribution: function(copyrights) {
-                log.push(copyrights);
-                OpenLayers.Layer.GoogleNG.prototype.updateAttribution.apply(this, arguments);
-            }
-        });
-        map.addLayer(layer);
-        map.setCenter(new OpenLayers.LonLat(16, 48).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), 5);
-        
-        t.delay_call(3, function() {
-            t.eq(log.length, 1, "updateAttribution was called once");
-            t.ok(log[0]["m"].length && log[0]["k"].length, "'m' and 'k' copyrights populated for hybrid layer");
-            t.ok(layer.attribution.indexOf('olGoogleAttribution hybrid') != -1, "Attribution has the correct css class");
-            t.ok(layer.attribution.indexOf('?ll=48,16&z=5&t=h"') != -1, "maps.google.com link has correct parameters");
-            map.destroy();
-        });
-    }
-
-    function test_clone(t) {
-        t.plan(2);
-        
-        var clone;
-        
-        layer = new OpenLayers.Layer.GoogleNG({type: google.maps.MapTypeId.HYBRID});
-        clone = layer.clone();
-        t.ok(clone instanceof OpenLayers.Layer.GoogleNG, "clone is a Layer.GoogleNG instance");
-        t.eq(clone.type, google.maps.MapTypeId.HYBRID, "with the correct map type");
-    }
-
-  </script>
-</head>
-<body>
-<div id="map" style="width:500px;height:550px"></div>
-<div id="map2" style="width:500px;height:550px"></div>
-</body>
-</html>

Deleted: trunk/openlayers/tests/Tile/Google.html
===================================================================
--- trunk/openlayers/tests/Tile/Google.html	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/tests/Tile/Google.html	2011-09-01 19:07:37 UTC (rev 12317)
@@ -1,74 +0,0 @@
-<html>
-<head>
-  <script src="http://maps.google.com/maps/api/js?sensor=false&v=3.5"></script>
-  <script src="../OLLoader.js"></script>
-  <script type="text/javascript">
-    var tile; 
-    var layer = new OpenLayers.Layer.GoogleNG(); 
-    var position = new OpenLayers.Pixel(20,30);
-    var bounds = new OpenLayers.Bounds(1,2,3,4);
-
-    
-    function test_constructor (t) {
-        t.plan( 4 );
-        
-        tile = new OpenLayers.Tile.Google(layer, position, bounds);
-    
-        t.ok( tile instanceof OpenLayers.Tile.Google, "new OpenLayers.Tile.Google returns Tile object" );
-        t.ok( tile.layer == layer, "tile.layer is set correctly");
-        t.ok( tile.position.equals(position), "tile.position is set correctly");
-        t.ok( tile.bounds.equals(bounds), "tile.bounds is set correctly");
-    }
-
-    function test_clone (t) {
-        t.plan( 5 );
-        
-        tile = new OpenLayers.Tile.Google(layer, position, bounds);
-        tile.node = document.createElement("div");
-        var clone = tile.clone();
-    
-        t.ok( clone instanceof OpenLayers.Tile.Google, "OpenLayers.Tile.Google.clone returns Tile.Google object" );
-        t.ok( clone.layer == layer, "clone.layer is set correctly");
-        t.ok( clone.position.equals(position), "clone.position is set correctly");
-        t.ok( clone.bounds.equals(bounds), "clone.bounds is set correctly");
-        t.ok( !clone.node, "node not cloned");
-    }
-    
-    function test_draw (t) {
-        t.plan( 5 );
-
-        var map = new OpenLayers.Map('map');
-        map.addLayer(layer);  
-
-        tile = new OpenLayers.Tile.Google(layer, position, bounds);
-
-        tile.events.register("loadstart", this, function() { 
-            t.ok(true, "loadstart triggered");
-        });
-        tile.events.register("loadend", this, function() { 
-            t.ok(true, "loadend triggered");
-        });
-
-        t.delay_call(1, function() {
-            //this should trigger a "loadstart" event
-            tile.draw();
-
-            t.ok( tile.node, "tile.draw creates a node");
-            // The two tests below will fail when getTile doesn't set the tile size
-            t.eq( tile.node.style.width, layer.tileSize.w+"px", "Image width is correct" );
-            t.eq( tile.node.style.height, layer.tileSize.h+"px", "Image height is correct" );
-        });       
-        t.delay_call(2, function() {
-            map.removeLayer(layer);
-            map.destroy();
-            /* wait until "loadend" fires */
-        });        
-        
-    }
-        
-  </script>
-</head>
-<body>
-<div id="map" style="height:550px;width:500px"></div>
-</body>
-</html>
\ No newline at end of file

Modified: trunk/openlayers/tests/list-tests.html
===================================================================
--- trunk/openlayers/tests/list-tests.html	2011-09-01 14:51:21 UTC (rev 12316)
+++ trunk/openlayers/tests/list-tests.html	2011-09-01 19:07:37 UTC (rev 12317)
@@ -153,7 +153,6 @@
     <li>Layer/GML.html</li>
     <li>Layer/Google.html</li>
     <li>Layer/Google/v3.html</li>
-    <li>Layer/GoogleNG.html</li>
     <li>Layer/Grid.html</li>
     <li>Layer/HTTPRequest.html</li>
     <li>Layer/Image.html</li>
@@ -224,7 +223,6 @@
     <li>Symbolizer/Raster.html</li>
     <li>Symbolizer/Text.html</li>
     <li>Tile.html</li>
-    <li>Tile/Google.html</li>
     <li>Tile/Image.html</li>
     <li>Tile/BackBufferable.html</li>
     <li>Tile/Image/IFrame.html</li>



More information about the Commits mailing list