Dear Jim, thank you very, very much. It worked perfectly. I assume it would be too much to ask why my code didn't work. :)
Bests Vlado On Mon, Dec 19, 2011 at 6:33 PM, Jim White <[email protected]> wrote: > Hi, > > You need to call > > map.zoomToExtent(new OpenLayers.Bounds(kml.getExtent())) > > from the event handler. Something like this > > deeds.events.on({ > > 'loadend': function (evt) { > var deeds_extent = deeds.getDataExtent(); > map.zoomToExtent(deeds_extent); > } > }); > > Jim > > > > > Hi to all, > > I am developing my app and every day I keep bumping in walls. > > Today I spend 12 hours trying to figure how to zoom to the extent of the > queried features, but couldn't sort it out. > I use *zoomToExtent(vector_layer.getExtent())*, > > but it zooms somewhere in the middle atlantic . > > In the firebug, when I call > > *getExtent()* > > it returns it. If I say > > *new OpenLayers.Bounds(vector_layer.getExtent())* > > it returns just left boundary?! > > If I try **vector_layer.calculateBounds** or **getBounds** it returns > "undefined". > > The strangest thing is when I call **vector_layer.geometryType** it returns > Null, although map displays all polygons perfectly. > > Can anybody help, I would be very grateful - this just makes me out of > myself . > > Here is the code: > > var map, osm, kml; > > upit="*/kml/*"; > {%if search_details%} > > upit="*/kml/*?q={{x}}&r={{y}}"; > > {%endif%} > > function init(){ > > > var options = {maxExtent: new OpenLayers.Bounds( > 1813816.431496, 5245458.4167548, 2178341.4193136, > 5664389.3081316), > units: 'm', > projection: new OpenLayers.Projection('EPSG:900913'), > displayProjection: new OpenLayers.Projection('EPSG:3908') > > } > map = new OpenLayers.Map('map', options); > > map.addControl(new OpenLayers.Control.LayerSwitcher()); > map.addControl(new OpenLayers.Control.MousePosition()); > > osm = new OpenLayers.Layer.OSM( > "OSM"); > > kml = new OpenLayers.Layer.Vector("KML", > { > projection: new OpenLayers.Projection('EPSG:4326'), > protocol: new OpenLayers.Protocol.HTTP({ > url: upit, > format: new OpenLayers.Format.KML({ > extractAttributes: true, > extractstyles: true > }) > }), > strategies: [new OpenLayers.Strategy.Fixed()]}); > > map.addLayers([osm, kml]); > > var google_satellite = new OpenLayers.Layer.Google('Google', { > type: google.maps.MapTypeId.SATELLITE > }); > map.addLayer(google_satellite); > > /*map.zoomToExtent( > new OpenLayers.Bounds( > 1813816.431496, 5245458.4167548, 2178341.4193136, > 5664389.3081316))*/ > > map.zoomToExtent(new OpenLayers.Bounds(kml.getExtent())) > > -- Vladimir Stupar Katedra za Ekologiju šuma Šumarski fakultet, Univerzitet u Banjaluci S. Stepanovića 75a, 78000 Banjaluka Bosna i Hercegovina tel.:+38765692006 fax.:+38751460550 e-mail: [email protected] skype: vmstupar Vladimir Stupar Department for Forest ecology Forestry faculty, University in Banjaluka S. Stepanovica 75a, 78000 Banjaluka Bosnia & Hercegovina tel.:+38765692006 fax.:+38751460550 e-mail: [email protected] skype: vmstupar
_______________________________________________ Users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/openlayers-users
