[OpenLayers-Users] setCenter(), maxExtent is null error,
Spherical Mercator Example documentation
Christopher Schmidt
crschmidt at metacarta.com
Tue Sep 8 13:50:59 EDT 2009
On Tue, Sep 08, 2009 at 11:42:40AM -0500, Ted Spradley wrote:
>
> Hi,
>
> Newbie here trying to step through the documentation for Spherical Mercator
> at
>
> http://docs.openlayers.org/library/spherical_mercator.html
>
> The second example, 'Reprojecting Point and Bounds' calls for setting a
> point in lon,lat then transforming
> it into projected units.
>
> I keep getting the js error 'maxExtent is null' from /lib/OpenLayers/Map.js
> line 1778 which is the
> isValidLonLat method:
>
> ################################################################
> Method generating error
>
> /**
> * Method: isValidLonLat
> *
> * Parameters:
> * lonlat - {<OpenLayers.LonLat>}
> *
> * Returns:
> * {Boolean} Whether or not the lonlat passed in is non-null and within
> * the maxExtent bounds
> */
> isValidLonLat: function(lonlat) {
> var valid = false;
> if (lonlat != null) {
> var maxExtent = this.getMaxExtent();
> valid = maxExtent.containsLonLat(lonlat);
> }
> return valid;
> },
>
> End Method
> ################################################################
>
>
> The following were my attempts to correct the code:
>
> 1. tried setting {isBaseLayer: true} in var layer
> 2. tried setting var options= {maxExtent: new
> OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
> setCenter: point} in new OpenLayers.Map('map', options)
> 3. numerous other attempts including setting {isBaseLayer: true} in options
> 4. searched archives
>
> Using the supplied code on the page my script is now:
>
> #####################################################################
> begin html page
>
> <html>
> <head>
> <title>Basic OpenLayers Example - Virtual Earth, Set Center</title>
> <script
> src='http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1'></script>
> <script src="http://snoogems.com/lib/OpenLayers.js"></script>
> </head>
> <body>
> <div style="width:100%; height:100%" id="map"></div>
> <script defer='defer' type='text/javascript'>
> // Code goes here
> // Ver 1.0.1 - Added Set Center 9/8/2009 9:14:17 AM
>
> var map = new OpenLayers.Map("map");
>
> var layer = new OpenLayers.Layer.VirtualEarth("Virtual Earth",
> {sphericalMercator: true,
> maxExtent: new
> OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34)
> });
>
>
> var proj = new OpenLayers.Projection("EPSG:4326");
> var point = new OpenLayers.LonLat(-95.422899,29.737651);
> map.setCenter(point.transform(proj, map.getProjectionObject()));
>
> map.addLayer(layer);
^^ Add the layer first, then set the center.
map.addLayer(layer);
map.setCenter(point.transform(proj, map.getProjectionObject()));
-- Chris
> map.zoomToMaxExtent();
>
> </script>
> </body>
> </html>
>
> End html page
> #######################################################################
>
> Any obvious flaws here (besides my thick head)?
>
> Thanks, Ted S.
>
> --
> View this message in context: http://n2.nabble.com/setCenter-maxExtent-is-null-error-Spherical-Mercator-Example-documentation-tp3604502p3604502.html
> Sent from the OpenLayers Users mailing list archive at Nabble.com.
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
--
Christopher Schmidt
MetaCarta
More information about the Users
mailing list