Hello Asle,

I don't know if this could solve your problem, but I am using a vector layer as well.
Defining the WFS protocol looks a bit different from yours:

    wfs = new OpenLayers.Layer.Vector(
        "Name of the Layer",
        {
            strategies: [new OpenLayers.Strategy.BBOX()],
            projection: new OpenLayers.Projection("EPSG:4326"),
            protocol: new OpenLayers.Protocol.WFS({
                srsName: "EPSG:4326",
                url: "http://localhost:8080/geoserver/wfs";,
                featureType: "rohre_graben_damm",
                featureNS: "http://www.openplans.org/topp";,
            })
        }
    );

I hope this can help you.

Regards,
Ingo

Am 29.03.2009 um 03:28 schrieb Asle Benoni:

I changed the URL but still get this response:

OpenLayers.Protocol.WFS is not a constructor

 map.addLayer(new OpenLayers.Layer.Vector("Gravminne", {
   strategies: [new OpenLayers.Strategy.BBOX()],
   protocol: new OpenLayers.Protocol.WFS({
       url: "http://naturkart.no:8080/geoserver/wfs&request=getmap";,
       typeName: "gravminne",
       featurePrefix: "kulturminner_ns"
   })
   }));

/asle

2009/3/28 Andreas Hocevar <ahoce...@opengeo.org>
add &request=getmap to your url.

Regards,
andreas.

On 3/28/09, Asle Benoni <asle.ben...@gmail.com> wrote:
> Hello,
> I tried the new WFS code but I still get this response:
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE
> ServiceExceptionReport SYSTEM "http:
> //schemas.opengis.net/wms/1.1.1/WMS_exception_1_1_1.dtd">
> <ServiceExceptionReport version="1.1.1" >
>   <ServiceException code="MissingParameterValue" locator="request">
>       Could not determine geoserver request from http request
> org.apache.catalina.connector.RequestFacade
> @10f829
> </ServiceException></ServiceExceptionReport>
>
>
> I wonder if this WFS call can give me what I want with a KML response. I > want to be able to click on the location and a popup with a style for the > popup, show a picture, a link etc. fetched from the PostgreSQL table.
>
> /asle
>
> 2009/3/27 Andreas Hocevar <ahoce...@opengeo.org>
>
>> Hi,
>>
>> On Thu, Mar 26, 2009 at 5:08 PM, Asle Benoni <asle.ben...@gmail.com>
>> wrote:
>> > I am really frustrated about not beeing able to display a kmz layer in
>> > OpenLayers.
>> > Here is the code:
>> >
>> > map.addLayer(new OpenLayers.Layer.GML("Gravminne", "
>> 
http://naturkart.no:8080/geoserver/wms/kml?layers=kulturminner_ns:gravminne&format=application/vnd.google-earth.kml+XML&transparent=true&srs=EPSG:4326&transparent=true&;
>> > ",
>> >                {
>> >                 format: OpenLayers.Format.KML,
>> >                 formatOptions: {
>> >                   extractStyles: true,
>> >                   extractAttributes: true,
>> >                   transparent:true
>> >                 }
>> >                }));
>>
>> The geoserver url you are using here will always return KMZ, which
>> OpenLayers cannot parse. Instead, you should use the following to
>> create your layer:
>>
>> map.addLayer(new OpenLayers.Layer.WFS("Gravminne",
>> "
>> 
http://naturkart.no:8080/geoserver/wms?service=WMS&request=GetMap&layers=kulturminner_ns:gravminne&format=kml&srs=EPSG:4326
>> ",
>>                 {
>>                 format: OpenLayers.Format.KML,
>>                 formatOptions: {
>>                   extractStyles: true,
>>                   extractAttributes: true
>>                 }
>>                 }));
>>
>> Is there a specific reason why you  want to use KML? WFS would give
>> you the same result, you would only have to use a style map for your >> symbology in addition. This is how to add the layer using the new WFS
>> protocol:
>>
>> map.addLayer(new OpenLayers.Layer.Vector("Gravminne", {
>>    strategies: [new OpenLayers.Strategy.BBOX()],
>>    protocol: new OpenLayers.Protocol.WFS({
>>        url: "http://naturkart.no:8080/geoserver/wfs";,
>>        typeName: "gravminne",
>>        featurePrefix: "kulturminner_ns"
>>    })
>> ));
>>
>> For the symbology, you can use OpenLayers.Format.SLD to use a sld file >> that you already have on your server. Look at examples/SLD.html to see
>> how to configure this.
>>
>> And you need OpenLayers.ProxyHost configured with a working proxy url.
>>
>> If a map image rendered on the server would also do, you could just
>> use a WMS layer, and don't even need a ProxyHost:
>>
>> map.addLayer(new OpenLayers.Layer.WMS("Gravminne";
>> "http://naturkart.no:8080/geoserver/wms?";, {
>>    transparent: true,
>>    layers: "kulturminner_ns:gravminne"
>> }));
>> }
>>
>> > I can see the http request from the proxy so it is fetching correct
>> > data (I think) but I cannot see any on the map!
>> > The request looks like this (FireBug). I am not sure if the EPSG is
>> > correct. I also tried "EPSG:32632" which I set for the map.
>>
>> With the WFS setup above (first of my code snippets), the data should
>> be automatically reprojected to the SRS of your map.
>>
>> > Can anyone point to how to show a KMZ file from GeoServer as I need >> > the options for that layer format. I checked the docs but did not get
>> > wiser.
>>
>> As already said, OpenLayers can not parse KMZ, only KML. To make
>> GeoServer output KML, your request would have to be a WMS request and
>> look like this:
>>
>>
>> 
http://naturkart.no:8080/geoserver/wms/?service=wms&request=GetMap&layers=kulturminner_ns:gravminne&format=application/vnd.google-earth.kml+XML&format=kml&bbox=0,0,180,90&width=500&height=250&srs=EPSG:4326
>>
>> This is what will get generated with the second of my code snippets above.
>>
>> Regards,
>> Andreas.
>>
>> --
>> Andreas Hocevar
>> OpenGeo - http://opengeo.org/
>> Expert service straight from the developers.
>>
>

--
Sent from my mobile device

Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.

_______________________________________________
Users mailing list
Users@openlayers.org
http://openlayers.org/mailman/listinfo/users

Attachment: PGP.sig
Description: Signierter Teil der Nachricht

_______________________________________________
Users mailing list
Users@openlayers.org
http://openlayers.org/mailman/listinfo/users

Reply via email to