Hi,

you have to render the MapPanel to somewhere. Either add "renderTo: 
document.body" to the mapPanel's configuration, or add it to a container. If 
you do the former, you also have to configure a width and height on the 
mapPanel.

Regards,
Andreas.

On Sep 24, 2010, at 19:19 , IT Intern wrote:

> Jason,
> 
> I am using Google Streets actually :).  It just isn't working out for me 
> atm...
> 
> 
> Andreas,
> 
> I tried both suggestions.  I got rid of the 'map' parameter in the map 
> instantiation and had the same result, the layer was blank.  Then I tried 
> again with using my options variable in my mapPanel and nothing loaded up at 
> all when I did this :(
> My entire page was blank...
> 
> Thanks,
> 
> elshae
> 
> On Fri, Sep 24, 2010 at 10:39 AM, Andreas Hocevar <[email protected]> 
> wrote:
> Hi,
> 
> the problem here is that you configure the OpenLayers map in the wrong mode. 
> See below:
> 
> On Sep 23, 2010, at 21:43 , IT Intern wrote:
> 
> > Hello GeoExt users,
> >
> > This one's gotten me totally stumped.  I have some base layers and a few 
> > wms overlays.  When my page loads it shows the base layer for a quick 
> > second and then goes blank as it loads my overlays.  It stays blank until I 
> > click the map, etc.  Then it displays properly.  I've Googled all sorts of 
> > things concerning this sort of issue and have come up with nothing that 
> > gives me a hint as to why this could be.  This never happened to me before 
> > until I started using GeoExt to display my map.  Is it something in code I 
> > must write for GeoExt or OpenLayers so that this doesnt happen?  It's 
> > driving me crazy!!!
> >
> > Code:
> >
> > //Base Layers
> >
> >              var ghyb = new OpenLayers.Layer.Google(
> >                     "Google Hybrid",
> >                     {type: google.maps.MapTypeId.HYBRID, numZoomLevels: 20}
> >                 );
> >
> >             var gmap = new OpenLayers.Layer.Google(
> >                     "Google Streets", // the default
> >                     {numZoomLevels: 20},{visibility: true}
> >             );
> >
> >             var osm = new OpenLayers.Layer.OSM();
> >
> > //.....
> > ....
> > ....
> >
> > var options = {
> >                     controls: [new OpenLayers.Control.Navigation()],
> >                     maxExtent: new OpenLayers.Bounds(-20037508.34, 
> > -20037508.34, 20037508.34, 20037508.34),
> >                     maxResolution: "auto",
> >                     projection: new OpenLayers.Projection("EPSG:900913"),
> >                     units: 'm',
> >                     allOverlays: false
> >             }
> >
> >
> >             var map = new OpenLayers.Map('map', options);
> 
> Wrong! If at all, use the following instead:
> 
>              var map = new OpenLayers.Map(options);
> 
> You don't want to render the map at this point, so you have to configure it 
> without a map div.
> 
> 
> >             map.addLayers([gmap, ghyb, osm, all_chn, all_tib, chn_bridges, 
> > tib_bridges, chn_countys, tib_countys, chn_farms, tib_farms, chn_glaciers, 
> > tib_glaciers, chn_grazing, tib_grazing, chn_hwyCrew, tib_hwyCrew, 
> > chn_hospitals, tib_hospitals, chn_lakes, tib_lakes, chn_monastaries, 
> > tib_monastaries, chn_pass, tib_pass, chn_rivers, tib_rivers, chn_townships, 
> > tib_townships, chn_villages, tib_villages]);
> >
> >             var mapPanel = new GeoExt.MapPanel({
> >                 title: "Map",
> >                 map: map,
> 
> Now the preferred way to configure a MapPanel would be to remove the "var map 
> = ..." above entirely, and configure the map here:
> 
>                  map: options,
>                  layers: [gmap, ghyb, osm, all_chn, all_tib, chn_bridges, 
> tib_bridges, chn_countys, tib_countys, chn_farms, tib_farms, chn_glaciers, 
> tib_glaciers, chn_grazing, tib_grazing, chn_hwyCrew, tib_hwyCrew, 
> chn_hospitals, tib_hospitals, chn_lakes, tib_lakes, chn_monastaries, 
> tib_monastaries, chn_pass, tib_pass, chn_rivers, tib_rivers, chn_townships, 
> tib_townships, chn_villages, tib_villages]
> 
> Regards,
> Andreas.
> 
> >                 center: map.setCenter(new OpenLayers.LonLat(93.9, 
> > 29.53).transform(new OpenLayers.Projection("EPSG:4326"), 
> > map.getProjectionObject())),
> >                 zoom: 9,
> >                 region: "center",
> >                 bbar: [{
> >                     xtype: "label",
> >                     text: "Scale = 1 : "
> >                 }],
> >                 items: [{
> >                     xtype: "gx_zoomslider",
> >                     vertical: true,
> >                     height: 300,
> >                     x: 10,
> >                     y: 20,
> >                     plugins: new GeoExt.ZoomSliderTip()
> >                 }]
> >             });
> >
> >             var layerRoot = new Ext.tree.TreeNode({
> >                 text: "All Layers",
> >                 expanded: true,
> >                 autoLoad: true
> >                 });
> >
> > //Is there something to set here???
> >                 layerRoot.appendChild(new GeoExt.tree.BaseLayerContainer({
> >                 text: "Base Layers",
> >                 map: map,
> >                 layerStore: mapPanel.layers,
> >                 expanded: true,
> >                 autoLoad: true
> >                 }));
> >
> > //.....
> >
> > Thank you very much, I appreciate any suggestions :),
> >
> > elshae
> >
> >
> >
> > _______________________________________________
> > Users mailing list
> > [email protected]
> > http://www.geoext.org/cgi-bin/mailman/listinfo/users
> 
> 
> 
> --
> Andreas Hocevar
> OpenGeo - http://opengeo.org/
> Expert service straight from the developers.
> 
> 
> _______________________________________________
> Users mailing list
> [email protected]
> http://www.geoext.org/cgi-bin/mailman/listinfo/users



-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.

_______________________________________________
Users mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/users

Reply via email to