7 votos

OpenLayers, zoom hasta capa vectorial

Parece bastante simple cosa para mí, pero me da un error.

mapa de la declaración de

map = new OpenLayers.Map('map_element', {...
projection : _projObj.mercator,
displayProjection : _projObj.wgs84
}

la capa de declaración

uses_layer = new OpenLayers.Layer.Vector("US Layer", {
    strategies : [new OpenLayers.Strategy.Fixed()],
    projection : _projObj.wgs84,
    visibility : true,
    protocol : new OpenLayers.Protocol.WFS({
        version : '1.0.0',
        url : '[...]wfs.map&service=WFS',
        featureType : USType
    })
});

centro para la capa de medida

Después de que la capa se ha cargado, quiero zoom a la capa vectorial medida:

map.zoomToExtent(uses_layer.getDataExtent());

y me sale:

Uncaught TypeError: Cannot call method 'getCenterLonLat' of null
OpenLayers.Map.OpenLayers.Class.zoomToExtentOpenLayers.js:512
addSelectedLayermap.js:87
(anonymous function)46.105.19.68:36
f.event.dispatchjquery-1.7.2.min.js:3
f.event.add.h.handle.i

Cuando me pase los mismos comandos de JS de depuración de la línea de comandos (integrado en Chrome), el mapa de obtener ampliada correctamente; sin embargo,

uses_layer.getDataExtent();

desde la línea de comandos, me da

bottom: 5134852.1720288
centerLonLat: null
left: 1744085.9879363
right: 1787837.9987162
top: 5150209.4139235

Ahora, centerLonLat es null, pero en los docs se dice que la única reqested valor es un atado con las coordenadas de la matriz, que en mi humilde opinión, se ajusta al uses_layer.getDataExtent(); solicitud.

Cualquier sugerencia? Gracias :)

4voto

Adam Ernst Puntos 6939

¿Es posible que su capa no ha terminado de descargar cuando llame getDataExtent()? mientras que en el depurador va más lenta y la descarga ha terminado.

Esta pregunta anterior OpenLayers cargar capa vectorial de WFS: Cómo comprobar si se devuelven todas las funciones de servidor? debe ayudar.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X