[Users] MapPanel overwriting my map getextent?

Eric Lemoine eric.lemoine at camptocamp.com
Tue Sep 21 09:50:57 CEST 2010


On Mon, Sep 20, 2010 at 11:50 PM, Andrew Stewart
<Andrew.Stewart at reddeer.ca> wrote:
>   I am trying to display my map inside of a mappanel and ext window. Below
> is my code and I am using the same exact settings as a map on a different
> page that shows all my layers without issues. However when I add this to an
> ext.window and panel it loads but no layers show up as if the zoom
> level/maxextent is wrong… any ideas?
>
>
>
>   <script type="text/javascript">
>
>             // begin map defintion
>             var map = new OpenLayers.Map('map',{


This is probably not related to your problem, but you shouldn't pass a
div to the Map constructor when working with a MapPanel, so just pass
the options object as the first argument to the constructor.


>                     maxExtent: new OpenLayers.Bounds(-20037508.34,
> -20037508.34, 20037508.34, 20037508.34),
>                     maxResolution: 156543.0399,
>                     units: 'km',
>                     projection: new OpenLayers.Projection("EPSG:900913"),
>                     displayProjection: new
> OpenLayers.Projection("EPSG:4326")
>                 }
>              );    //end of map definition
>
>          //Base Layer - contains all base layers (everything except transit
> routes/bus stops)
>         var layer_Base = new OpenLayers.Layer.WMS("Base Layer",
> "http://ITS701X5J1/RedWMS/Request.aspx",
>         {
>             layers:
> ['BAS_NEIGHBOURHOOD_SHAPE,BAS_NEIGHBOURHOOD_SHAPE1,BAS_RURAL_BLOCK_LINE,BAS_RURAL_LOT_LINE,LRSV_STREET_SEGMENT,LRSV_SECONDARY_SEGMENT,WWW_PARCELS,BAS_HYDRO,BAS_CITY_BOUNDARY_LINE,
> Arterial,Highway,Rural_Highway,BAS_BRIDGE'],
>             format: 'image/png',
>             VERSION: "1.1.1",
>             transparent: true
>         },
>            { isBaseLayer: true,
>              singleTile: true
>            }
>         );
>
>     map.addLayer(layer_Base);
>
>             //Define Map Longitude/Latitude and Start zoom levels
>         var startupLat = 52.27210;
>         var startupLon = -113.80288;
>         var startupLevel = 12;
>         var lonLat = new OpenLayers.LonLat(startupLon,
> startupLat).transform(new OpenLayers.Projection("EPSG:4326"),
> map.getProjectionObject());
>
>         map.setCenter(lonLat,startupLevel);

You shouldn't call setCenter yourself when working with a MapPanel.
Instead set the "center" and "zoom" options in the MapPanel config.
See below.

>
>
>         var mapPanel;
> Ext.onReady(function() {
>     new Ext.Window({
>         title: "GeoExt MapPanel Window",
>         height: 400,
>         width: 600,
>         layout: "fit",
>         items: [{
>             xtype: "gx_mappanel",
>             id: "mappanel",
>             map: map

               center: lonLat,
               zoom: startupLevel

>         }]
>     }).show();
>
>     mapPanel = Ext.getCmp("mappanel");
> });</script>

Hope it helps.

-- 
Eric Lemoine

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex

Tel : 00 33 4 79 44 44 96
Mail : eric.lemoine at camptocamp.com
http://www.camptocamp.com


More information about the Users mailing list