[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