It seems that the error actually comes from map.setCenter() and if a layer is added first all is well, while the addOptions() function seems to apply to layers rather than the map.  I added that option to the map constructor and it made no difference.  My problem now is just that I can get this to work but only after a layer has been added but ideally I need to know the origin before a layer is added.  Maybe I can add a dummy layer?  Apparently Geoserver now uses OpenLayers for it's demos and they use exactly what I'm trying to achieve so I'm going to have a look into how they've done it...
<br><br>thanks all.<br><br><div><span class="gmail_quote">On 5/31/07, <b class="gmail_sendername">Stephen Woodbridge</b> &lt;<a href="mailto:woodbri@swoodbridge.com">woodbri@swoodbridge.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Tom wrote:<br>&gt; Hi all,<br>&gt;<br>&gt; I&#39;m currently trying to get the co-ordinates of the origin of the map in<br>&gt; order to utilise the geoserver meta tiler extension to WMS see:<br>&gt; <a href="http://docs.codehaus.org/display/GEOSDOC/WMS+vendor+parameters">
http://docs.codehaus.org/display/GEOSDOC/WMS+vendor+parameters</a>&nbsp;&nbsp;These<br>&gt; co-ordinates must be included in the WMS URL so I&#39;m doing the following:<br><br>I ran into this error the other night and found that I had forgotten to set:
<br><br>map.addOptions({isBaseLayer: true});<br><br>which seemed to solve the problem.<br><br>-Steve W.<br><br>&gt; ...<br>&gt; var map;<br>&gt; function init()<br>&gt; {<br>&gt; var options =<br>&gt; {resolutions:[72,36,18,
9.6,4.8,2.4,1.2,0.6,0.3,0.15,0.125],maxExtent:new<br>&gt; OpenLayers.Bounds(0,0,2000000,2000000),maxResolution:&#39;auto&#39;,units:&#39;meters&#39;,projection:&#39;EPSG:27700&#39;,controls:[]};<br>&gt; map = new OpenLayers.Map
( $(&#39;map&#39;), options );<br>&gt; map.setCenter(new OpenLayers.LonLat(543443,255213), 7);<br>&gt; var olextent = map.getExtent();<br>&gt; var origincoords=toString(olextent.bottom) + &#39;,&#39; + toString(olextent.left
);<br>&gt; ...<br>&gt;<br>&gt; and I&#39;m getting the following error:<br>&gt;<br>&gt; maxExtent has no properties<br>&gt; isValidLonLat(lon=543443,lat=255213 lon=543443 lat=255213 CLASS_NAME=<br>&gt; OpenLayers.LonLat)Map.js (line 933)
<br>&gt; setCenter( lon=543443,lat=255213 lon=543443 lat=255213<br>&gt; CLASS_NAME=OpenLayers.LonLat , 7, undefined, undefined)Map.js (line 804)<br>&gt; init() classexample.php (line 11)<br>&gt; onload(load ) classexample.php
 (line 1)<br>&gt; valid = maxExtent.containsLonLat(lonlat);<br>&gt;<br>&gt; Any ideas?<br>&gt;<br>&gt; cheers,<br>&gt;<br>&gt; Tom<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------
<br>&gt;<br>&gt; _______________________________________________<br>&gt; Users mailing list<br>&gt; <a href="mailto:Users@openlayers.org">Users@openlayers.org</a><br>&gt; <a href="http://openlayers.org/mailman/listinfo/users">
http://openlayers.org/mailman/listinfo/users</a><br><br></blockquote></div><br>