[OpenLayers-Users] Set map initial center and zoom
Eric Lemoine
eric.lemoine at camptocamp.com
Mon Aug 17 01:52:19 EDT 2009
On Friday, August 14, 2009, Raul David Orozco <hagen1113 at yahoo.com> wrote:
> I'm here again with mi newbie questions. I've been dealing with this issue for a long time and I can't fix it no matter how hard I try.I need to make OL set an initial coordinates and zoom so when I open the browser the map stars in some specific part of the world.
> I've done it perfectly with an example doing this:var options = {
> minResolution: "auto",
> minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
> maxResolution: "auto",
> maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
> };
>
> map = new OpenLayers.Map( 'map' , options);
>
>
> layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
> "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'});
> map.addLayer(layer);
>
> map.setCenter(new OpenLayers.LonLat(-73, 3), 3);And it works just the way I want, but when I do this with my map:var options = {
> minResolution: "auto",
> minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
> maxResolution: "auto",
> maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
> };
>
> var map = new OpenLayers.Map( 'map' , options);
>
>
> var request = OpenLayers.Request.GET(
> {url: "dir/smms/wms.php?VERSION=1.1.1&REQUEST=GetCapabilities&SERVICE=WMS",
> success: function(response){
> var XMLformat = new OpenLayers.Format.XML();
> var xml = XMLformat.read(response.responseText);
> var CAPformat = new OpenLayers.Format.WMSCapabilities();
> var cap = CAPformat.read(xml);
>
> for (var i=0; i<cap.capability.layers.length; i++) {
> layer = cap.capability.layers[i];
> layers_array[i] = new OpenLayers.Layer.WMS( layer.name,
> "dir/smms/wms.php",
> {'layers': layer.name, format: "image/png"}
> );
>
>
> map.addLayer(layers_array[i]);
> }
> },
> failure: function(response){
> alert(response.status);
> alert("GetCapabilities failed");
> }
> });
>
> map.setCenter(new OpenLayers.LonLat(-73, 3), 3);
> IT DOESN'T WORK, I get the error :
> maxExtent is null. What can I do??? I hope somebody can help me.
Hi
you must call setCenter in the Ajax callback, else there's chance that
there'sno layer in thw map at the time setCenter is called.
>
--
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