[OpenLayers-Commits] r12319 - in branches/openlayers/2.11: .
apidoc_config doc_config examples lib lib/OpenLayers/Layer
lib/OpenLayers/Layer/Google lib/OpenLayers/Tile tests
tests/Layer tests/Tile
commits-20090109 at openlayers.org
commits-20090109 at openlayers.org
Sat Sep 3 11:37:49 EDT 2011
Author: crschmidt
Date: 2011-09-03 08:37:48 -0700 (Sat, 03 Sep 2011)
New Revision: 12319
Removed:
branches/openlayers/2.11/examples/google-ng.html
branches/openlayers/2.11/examples/google-ng.js
branches/openlayers/2.11/lib/OpenLayers/Layer/GoogleNG.js
branches/openlayers/2.11/lib/OpenLayers/Tile/Google.js
branches/openlayers/2.11/tests/Layer/GoogleNG.html
branches/openlayers/2.11/tests/Tile/Google.html
Modified:
branches/openlayers/2.11/
branches/openlayers/2.11/apidoc_config/Menu.txt
branches/openlayers/2.11/doc_config/Menu.txt
branches/openlayers/2.11/lib/OpenLayers.js
branches/openlayers/2.11/lib/OpenLayers/Layer/Google/v3.js
branches/openlayers/2.11/tests/list-tests.html
Log:
Pullup changes to Google Layers for OL 2.11 RC4:
Google base layer not showing when switching base layers (Closes #3475)
remove GoogleNG layer (Closes #3481)
Property changes on: branches/openlayers/2.11
___________________________________________________________________
Modified: svn:mergeinfo
- /sandbox/roberthl/openlayers:9745-9748
/trunk/openlayers:12236,12248,12250,12252,12254,12267-12270
+ /sandbox/roberthl/openlayers:9745-9748
/trunk/openlayers:12236,12248,12250,12252,12254,12267-12270,12317-12318
Modified: branches/openlayers/2.11/apidoc_config/Menu.txt
===================================================================
--- branches/openlayers/2.11/apidoc_config/Menu.txt 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/apidoc_config/Menu.txt 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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: branches/openlayers/2.11/doc_config/Menu.txt
===================================================================
--- branches/openlayers/2.11/doc_config/Menu.txt 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/doc_config/Menu.txt 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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: branches/openlayers/2.11/examples/google-ng.html
===================================================================
--- branches/openlayers/2.11/examples/google-ng.html 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/examples/google-ng.html 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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&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: branches/openlayers/2.11/examples/google-ng.js
===================================================================
--- branches/openlayers/2.11/examples/google-ng.js 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/examples/google-ng.js 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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);
-}
Modified: branches/openlayers/2.11/lib/OpenLayers/Layer/Google/v3.js
===================================================================
--- branches/openlayers/2.11/lib/OpenLayers/Layer/Google/v3.js 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/lib/OpenLayers/Layer/Google/v3.js 2011-09-03 15:37:48 UTC (rev 12319)
@@ -203,7 +203,7 @@
*/
setGMapVisibility: function(visible) {
var cache = OpenLayers.Layer.Google.cache[this.map.id];
- if (cache && !cache.resized) {
+ if (cache) {
var type = this.type;
var layers = this.map.layers;
var layer;
Deleted: branches/openlayers/2.11/lib/OpenLayers/Layer/GoogleNG.js
===================================================================
--- branches/openlayers/2.11/lib/OpenLayers/Layer/GoogleNG.js 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/lib/OpenLayers/Layer/GoogleNG.js 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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&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 ©" + 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: branches/openlayers/2.11/lib/OpenLayers/Tile/Google.js
===================================================================
--- branches/openlayers/2.11/lib/OpenLayers/Tile/Google.js 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/lib/OpenLayers/Tile/Google.js 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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: branches/openlayers/2.11/lib/OpenLayers.js
===================================================================
--- branches/openlayers/2.11/lib/OpenLayers.js 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/lib/OpenLayers.js 2011-09-03 15:37:48 UTC (rev 12319)
@@ -121,7 +121,6 @@
"OpenLayers/Marker/Box.js",
"OpenLayers/Popup.js",
"OpenLayers/Tile.js",
- "OpenLayers/Tile/Google.js",
"OpenLayers/Tile/Image.js",
"OpenLayers/Tile/Image/IFrame.js",
"OpenLayers/Tile/WFS.js",
@@ -154,7 +153,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: branches/openlayers/2.11/tests/Layer/GoogleNG.html
===================================================================
--- branches/openlayers/2.11/tests/Layer/GoogleNG.html 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/tests/Layer/GoogleNG.html 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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: branches/openlayers/2.11/tests/Tile/Google.html
===================================================================
--- branches/openlayers/2.11/tests/Tile/Google.html 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/tests/Tile/Google.html 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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: branches/openlayers/2.11/tests/list-tests.html
===================================================================
--- branches/openlayers/2.11/tests/list-tests.html 2011-09-03 15:32:23 UTC (rev 12318)
+++ branches/openlayers/2.11/tests/list-tests.html 2011-09-03 15:37:48 UTC (rev 12319)
@@ -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/Image/IFrame.html</li>
<li>Tile/WFS.html</li>
More information about the Commits
mailing list