AW: [OpenLayers-Users] zoom to feature(s) extent
Arnd Wippermann
arnd.wippermann at web.de
Mon Dec 19 12:12:25 EST 2011
Hi,
for vector layers you can use
map.zoomToExtent(yourVectorLayer.getDataExtent());
after all features are loaded.
Arnd
-----Ursprüngliche Nachricht-----
Von: openlayers-users-bounces at lists.osgeo.org
[mailto:openlayers-users-bounces at lists.osgeo.org] Im Auftrag von arbormagna
Gesendet: Montag, 19. Dezember 2011 00:45
An: users at openlayers.org
Betreff: [OpenLayers-Users] zoom to feature(s) extent
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()))
--
View this message in context:
http://osgeo-org.1803224.n2.nabble.com/zoom-to-feature-s-extent-tp7106787p71
06787.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
_______________________________________________
Users mailing list
Users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/openlayers-users
More information about the Users
mailing list