[OpenLayers-Users] Problems displaying kmz file in OpenLayers
Asle Benoni
asle.benoni at gmail.com
Mon Mar 30 10:47:42 EDT 2009
Thanks. I still get in FireBug:
OpenLayers.Protocol.WFS is not a constructor
init()openlayers3.html (line 83)
onload(load )7tnQksP2...GPg%3D%3D (line 2)
featureNS: "kulturminner_ns", })
In the demo page og GeoServer I see the layer as
"*kulturminner_ns:gravminne<http://naturkart.no:8080/geoserver/wms?bbox=582633.35,6523100.745,673298.65,6636394.255&styles=&Format=application/openlayers&request=GetMap&version=1.1.1&layers=kulturminner_ns:gravminne&width=490&height=550&srs=EPSG:32632>
"* so am I writing this correctly?
map.addLayer(new OpenLayers.Layer.Vector("Gravminne", {
strategies: [new OpenLayers.Strategy.BBOX()],
projection: new OpenLayers.Projection("EPSG:4326"),
protocol: new OpenLayers.Protocol.WFS({
srsName: "EPSG:4326",
url: "http://naturkart.no:8080/geoserver/wfs&request=getmap",
featureType: "gravminne",
featureNS: "kulturminner_ns", })
}
));
2009/3/29 Ingo Weinzierl <ingo.weinzierl at intevation.de>
> 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 <ahocevar at opengeo.org>
>
>> add &request=getmap to your url.
>>
>> Regards,
>> andreas.
>>
>> On 3/28/09, Asle Benoni <asle.benoni at 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 <ahocevar at opengeo.org>
>> >
>> >> Hi,
>> >>
>> >> On Thu, Mar 26, 2009 at 5:08 PM, Asle Benoni <asle.benoni at 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 at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20090330/e8b79910/attachment.html
More information about the Users
mailing list