[OpenLayers-Users] Re: zoom to feature(s) extent

Vladimir Stupar stuparvladimir at gmail.com
Mon Dec 19 13:03:49 EST 2011


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 <jbw2003 at earthlink.net> 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: stuparvladimir at gmail.com
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: stuparvladimir at gmail.com
skype: vmstupar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20111219/b0e1145d/attachment.html


More information about the Users mailing list