I have try to make an example : <br><br><html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>"><br><head><br><meta http-equiv="content-type" content="text/html; charset=utf-8" /><br>
<title>OpenLayers</title><br><!-- --><br><br><script src='<a href="http://maps.google.com/maps?file=api&amp;v=2&amp;key=AZERAAAAbsmHETfVBBkfYg-JOma8IhRLLSF_UQf1WG5vAu5MHZHm0uNmSxSASAYqpbkiQpo160A-r5z5xWFQtw">http://maps.google.com/maps?file=api&amp;v=2&amp;key=AZERAAAAbsmHETfVBBkfYg-JOma8IhRLLSF_UQf1WG5vAu5MHZHm0uNmSxSASAYqpbkiQpo160A-r5z5xWFQtw</a>'></script><br>
<script src="<a href="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers">http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers</a>"></script><br><script src='<a href="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1">http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1</a>'></script><br>
<br><!-- <script src="OpenLayers-2.8/lib/OpenLayers.js"></script>--><br><script src="<a href="http://openlayers.org/api/2.9-rc3/OpenLayers.js">http://openlayers.org/api/2.9-rc3/OpenLayers.js</a>"></script> <br>
<br><script type='text/javascript'> <br>//<br>var map;<br><br>// increase reload attempts<br>OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;<br><br>/**<br> * Initialise la map, les couches, les evenements...<br> * @return void<br>
*/<br>function init() {<br><br> var usrbounds = new OpenLayers.Bounds(-1433917.9163166, 5014554.4359391,2167713.3877521, 6882716.1409359);<br><br> var options = {<br> projection : new OpenLayers.Projection("EPSG:900913"),<br>
displayProjection : new OpenLayers.Projection("EPSG:4326"),<br> units : "m",<br> // restrictedExtent : usrbounds,<br> numZoomLevels : 18,<br> maxResolution : 156543.0339,<br>
maxExtent : new OpenLayers.Bounds(-20037508, -20037508, 20037508,<br> 20037508.34),<br> controls : [ new OpenLayers.Control.Navigation(),<br> new OpenLayers.Control.MousePosition(),<br>
new OpenLayers.Control.LayerSwitcher() ]<br> };<br> map = new OpenLayers.Map('map', options);<br><br> // create Google Mercator layers<br> <br> var gmap = new OpenLayers.Layer.Google("google_str", {<br>
'sphericalMercator' : true<br> });<br> var gsat = new OpenLayers.Layer.Google("google_sat", {<br> type : G_SATELLITE_MAP,<br> 'sphericalMercator' : true,<br>
numZoomLevels : 22<br> });<br> var ghyb = new OpenLayers.Layer.Google("google_hyb", {<br> type : G_HYBRID_MAP,<br> 'sphericalMercator' : true<br> });<br>
map.addLayers( [ gmap, gsat, ghyb ]);<br> <br> // create Virtual Earth layers<br><br> <br> var veroad = new OpenLayers.Layer.VirtualEarth("bing_str", {<br> 'type' : VEMapStyle.Road,<br>
'sphericalMercator' : true<br> });<br> var veaer = new OpenLayers.Layer.VirtualEarth("bing_sat", {<br> 'type' : VEMapStyle.Aerial,<br> 'sphericalMercator' : true<br>
});<br> var vehyb = new OpenLayers.Layer.VirtualEarth("bing_hyb", {<br> 'type' : VEMapStyle.Hybrid,<br> 'sphericalMercator' : true<br> });<br> map.addLayers( [ veroad, veaer, vehyb ]);<br>
<br> // create Yahoo layer<br> <br> var yahoo = new OpenLayers.Layer.Yahoo("yahoo_str", {<br> 'sphericalMercator' : true<br> });<br> var yahoosat = new OpenLayers.Layer.Yahoo("yahoo_sat", {<br>
'type' : YAHOO_MAP_SAT,<br> 'sphericalMercator' : true<br> });<br> var yahoohyb = new OpenLayers.Layer.Yahoo("yahoo_hyb", {<br> 'type' : YAHOO_MAP_HYB,<br>
'sphericalMercator' : true<br> });<br> map.addLayers( [ yahoo, yahoosat, yahoohyb ]);<br> // create OSM layer<br> <br> var mapnik = new OpenLayers.Layer.OSM("osm");<br>
<br> var osmarender = new OpenLayers.Layer.OSM("osm_tile",<br> "<a href="http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png">http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png</a>");<br>
map.addLayers( [ mapnik, osmarender ]);<br> <br> //map.setBaseLayer(veaer);<br><br> map.zoomToExtent(usrbounds, true);<br><br>}<br><br>/**<br> * Passer du plein ecrant a une taille fixe<br> * @return void<br>
*/<br>function togglePleinEcran() {<br> var height =document.getElementById('carte').style['height'];<br><br> if (height != "600px") {<br> document.getElementById('carte').style['width']='1000px';<br>
document.getElementById('carte').style['height']='600px';<br> <br> } else {<br> document.getElementById('carte').style['width']='600px';<br> document.getElementById('carte').style['height']='400px';<br>
<br> }<br> map.updateSize();<br> <br>}<br><br></script><br><br></head><br><body onload="init()" id="api"><br><br><div id="carte" style="width: 800px; height: 600px"><br>
<div id="map" style="width: 100%; height: 100%"></div><br><br></div><br><br>1 Change the size <br/><br>2 Change layer to bing layer.<br/><br>3 Changer the size again and go to google map, normally you have bug (if you doesn't bug test steps again)<br/><br/><br>
<br>Another bug when you are on google map and switch to bing map the zoom is not the same<br/><br>1 go to google map <br/><br>2 go to bing map <br/><br>Sometimes the zoom is not the same, make step again if the bug is not going<br/><br>
<br><input class="button" type="button" value="Change size" onclick="togglePleinEcran();" /><br><br></body><br></html><br><br>Hope that show you the issue.<br><br>
Cheers.<br><br>Jim<br><br><div class="gmail_quote">2010/4/22 Andreas Hocevar <span dir="ltr"><<a href="mailto:ahocevar@opengeo.org">ahocevar@opengeo.org</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
On Apr 22, 2010, at 09:25 , Jimmy Aumard wrote:<br>
<br>
> Hello,<br>
><br>
> I have test the 2.9 RC3 version of OpenLayers and I have always the bugs if I show a bing map, resize the map and change layer to google map. the google map object was not resized.<br>
<br>
</div>Please provide a minimal example that shows the issue.<br>
<br>
Regards,<br>
<font color="#888888">Andreas.<br>
</font><div><div></div><div class="h5"><br>
<br>
><br>
> Thanks<br>
><br>
> Jim<br>
><br>
> 2010/4/20 Jimmy Aumard <<a href="mailto:jimmy.aumard@gmail.com">jimmy.aumard@gmail.com</a>><br>
> Yes I use OpenLayers 2.8 because it is the stable version, I have same problem with Google map and I resolved this with<br>
><br>
> map.getLayersBy('name','google_str')[0].mapObject.checkResize();<br>
><br>
> I will test the 2.9 version.<br>
><br>
> Thanks.<br>
><br>
> Jim<br>
><br>
> 2010/4/19 Andreas Hocevar <<a href="mailto:ahocevar@opengeo.org">ahocevar@opengeo.org</a>><br>
><br>
> On Apr 19, 2010, at 17:54 , Jimmy Aumard wrote:<br>
><br>
> > Thanks!!<br>
> ><br>
> > I have find another solution :<br>
> ><br>
> > map.getLayersBy('name','bing_str')[0].mapObject.Resize(500,500);<br>
> ><br>
> > I resize the bing map object for each layer and it's works.<br>
><br>
> Oh, in that case I assume you are still using OpenLayers 2.8? This is fixed in 2.9 (see <a href="http://trac.openlayers.org/ticket/2285" target="_blank">http://trac.openlayers.org/ticket/2285</a>).<br>
><br>
> -Andreas.<br>
><br>
><br>
><br>
><br>
><br>
> --<br>
> Aumard Jimmy<br>
> Développeur<br>
><br>
> KINAXIA<br>
> c/o CICA / PacaEst<br>
> 2229 Route des Crêtes<br>
> F-06560 Sophia Antipolis<br>
><br>
> Tél.: +33 (0)4 8973 0242<br>
> Mob.: +33 (0)6 6017 2827<br>
> Fax : +33 (0)4 8307 6583<br>
><br>
> <a href="http://www.kinaxia.fr" target="_blank">http://www.kinaxia.fr</a><br>
<br>
</div></div>--<br>
<div><div></div><div class="h5">Andreas Hocevar<br>
OpenGeo - <a href="http://opengeo.org/" target="_blank">http://opengeo.org/</a><br>
Expert service straight from the developers.<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Aumard Jimmy<br>Développeur <br><br>KINAXIA<br>c/o CICA / PacaEst<br>2229 Route des Crêtes<br>F-06560 Sophia Antipolis<br><br>Tél.: +33 (0)4 8973 0242<br>Mob.: +33 (0)6 6017 2827<br>
Fax : +33 (0)4 8307 6583<br><br><a href="http://www.kinaxia.fr">http://www.kinaxia.fr</a><br>