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); 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 [email protected] http://openlayers.org/mailman/listinfo/users
