[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