fixing issue with maps disappearing on resize. r=crschmidt (closes #2828)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@11581 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2011-02-28 12:55:40 +00:00
parent be1adc5d69
commit f7c96d32c2

View File

@@ -181,15 +181,16 @@ OpenLayers.Layer.Google.v3 = {
if (this.visibility) { if (this.visibility) {
google.maps.event.trigger(this.mapObject, "resize"); google.maps.event.trigger(this.mapObject, "resize");
} else { } else {
if (!this._resized) { var cache = OpenLayers.Layer.Google.cache[this.map.id];
if (!cache.resized) {
var layer = this; var layer = this;
google.maps.event.addListenerOnce(this.mapObject, "tilesloaded", function() { google.maps.event.addListenerOnce(this.mapObject, "tilesloaded", function() {
delete layer._resized;
google.maps.event.trigger(layer.mapObject, "resize"); google.maps.event.trigger(layer.mapObject, "resize");
layer.moveTo(layer.map.getCenter(), layer.map.getZoom()); layer.moveTo(layer.map.getCenter(), layer.map.getZoom());
delete cache.resized;
}); });
} }
this._resized = true; cache.resized = true;
} }
}, },
@@ -202,7 +203,7 @@ OpenLayers.Layer.Google.v3 = {
*/ */
setGMapVisibility: function(visible) { setGMapVisibility: function(visible) {
var cache = OpenLayers.Layer.Google.cache[this.map.id]; var cache = OpenLayers.Layer.Google.cache[this.map.id];
if (cache) { if (cache && !cache.resized) {
var type = this.type; var type = this.type;
var layers = this.map.layers; var layers = this.map.layers;
var layer; var layer;