4 votos

No se puede crear con éxito CMA

Sé que ha habido un montón de WFS asistente y me hizo seguir esta una palabra por palabra, lo que encontré fue el mejor en toda la sig pila pero todavía no tienen ni idea de por qué estoy unbale para prestar un servicio WFS en el mapa base.

Aquí está el código,

var map = new OpenLayers.Map("map-id");
            var bio = new OpenLayers.Layer.WMS(
              "bio11",
              "http://localhost:8080/geoserver/iPlant/wms",
              {layers: 'iPlant:bio11'}
            );
            var imagery = new OpenLayers.Layer.WMS(
                "Global Imagery",
                "http://maps.opengeo.org/geowebcache/service/wms",
                {layers: "bluemarble"}
            );

            /*var QuebecSpecies = new OpenLayers.Layer.WMS(
              "AllQuebecSpecies",
              "http://localhost:8080/geoserver/iPlant/wms",
              {layers: 'iPlant:AllQuebecSpecies'},
              {'opacity': 0.4, 'isBaseLayer': false, 'visibility': true}
            );*/

            var QuebecSpecies = new OpenLayers.Layer.Vector(
            "AllQuebecSpecies",
            {
                strategies: [new OpenLayers.Strategy.Fixed()]
                , projection: new OpenLayers.Projection("EPSG:4326")
                , protocol: new OpenLayers.Protocol.WFS({
                    version: "1.1.0",
                    url: "http://localhost:8080/geoserver/wfs",
                    featurePrefix: 'iPlant', //geoserver worspace name
                    featureType: "iPlant:AllQuebecSpecies", //geoserver Layer Name
                    featureNS: "http://geoserver.org/iPlant", // Edit Workspace Namespace URI
                    geometryName: "the_geom" // field in Feature Type details with type "Geometry"
                })
            });

            map.addLayers([imagery, bio, QuebecSpecies]);
            map.addControl(new OpenLayers.Control.LayerSwitcher());
            map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));

Como se puede ver en el código que me han comentado la parte donde yo estoy usando la misma capa como WMS, donde funciona perfectamente bien, pero luego no superpuesto sobre el mapa base (significado de Quebec capa es un punto de shapefile había para que el resto del espacio es de color blanco de fondo, que abarca hasta la base de la trama, que es la razón por la que me han puesto la transparencia 0.4).

Me ayudan chicos, realmente cansado de buscar y probar y tener suerte.

ACTUALIZACIÓN

He movido el shapefile de la carpeta de la mina a la carpeta www y también se ha cambiado la ubicación de la tienda en la carpeta www.

Área de trabajo : iPlant Nombre De La Tienda : SpeciesShp FeatureLayer : AllQuebecSpecies

Existe alguna otra manera de agregar shapefile Geoserver como WFS?

ACTUALIZACIÓN 2.0

Desde allí fueron sugerencia sobre la que tal vez mi archivo html no está en la carpeta de la derecha, ahora tengo mi archivo HTML en el directorio /var/www/prueba.mapa/html así como /var/lib/tomcat6/webapps/test.map.html. Todavía no hay suerte, WFS no aparece :(

Este es el error que estoy recibiendo en develoepr herramientas,

XMLHttpRequest cannot load http://localhost:8080/geoserver/wfs. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

ACTUALIZACIÓN 3.0

Ok gracias a la sugerencia sobre la que ahora tengo mi map.html en /var/lib/tomcat6/webapps/geoserver/data/www/map.html. Ahora todavía puedo trabajar con WMS pero ahora si intento utilizar WFS, el error que veo en la herramienta de desarrollador es

Uncaught TypeError: Cannot read property 'Fixed' of undefined

También el mapa de contenedores mismo desaparece.

AYUDA!!!

5voto

Garrett Puntos 126

Ya que tienes este error:

XMLHttpRequest no se puede cargar http//localhost:8080/geoserver/wfs. Origen http//localhost no está permitido por Access-Control-Allow-Origin.

Ahora para asegurarse de que los archivos html no sirve de dentro de la carpeta www de GeoServer. Lo que u he estado usando es la carpeta www de otros servidores instalados en su máquina.

Aquí está el tutorial que he seguido paso a paso para la instalación de una capa WFS sirve de otra carpeta de www de GeoServer enlace.

Si quieres ahora más acerca de por qué usted está recibiendo el HTMlHtppRequest error y por qué necesita configurar un proxy para evitar esto, mira este enlace

Por último, os recomiendo encarecidamente que u primera carrera WFS prueba de la GeoServer/datos/www carpeta y solo si que funciona, a continuación, se puede ejecutar desde la carpeta www de otros servidores. De esta manera, si se produce cualquier error, estarás seguro de que no tiene nada que ver con su OpenLayers código. En cambio, será debido a algún error de configuración de proxy entre tu GeoServer y el servidor cuyo www carpeta contiene los archivos HTML.

Espero que esto ayude!

2voto

bob-the-destroyer Puntos 138

¿usas el OpenLayers.js que fue entregado con la instalación de geoserver o uno diferente? Si utilizas el un intento local esta en su lugar:

http://dev.OpenLayers.org/releases/OpenLayers-2.13.1/OpenLayers.js

Si no es la comprobación del problema si el geoserver ofrece la WFS correctamente (Geoserver capa escuchar--> desplegable--> WFS--> GML

0voto

Garrett Puntos 126

Desde esto:

TypeError: No puede leer la propiedad 'Fijo' de indefinido

Prueba esto:

estrategias: [nuevo OpenLayers.Strategy.BBOX()]

En lugar de:

estrategias: [nuevo OpenLayers.Strategy.Fixed()]

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