Re: [Portugal] Não consigo visualizar as layers WFS...

Òscar Vidal Calbet oscarblo at gmail.com
Thu Jun 10 14:19:12 EDT 2010


Olá,

Finalmente a problema foi resolvido. Depois de ter dado tantas voltas, não
termino de perceber porque é assim, mas funciona. Basicamente, acho que era
por não ter definido correctamente as *bounds*, mas o estranho é que eu
conseguia visualizar a área correcta do mapa, se não, não tivesse conseguido
ver a *layer *WMS, eu acho.

Agradeço imenso a ajuda do Luís e do Fernando. Espero poder retornar isto
algum dia.

Segue em baixo o código final das OpenaLayers (só mostro isto porque é o
único que alterei), a cor verde identifica o código acrescentado/alterado:



    <script src="http://openlayers.org/api/OpenLayers.js"></script>
    <script type="text/javascript">

        OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
        var map;

        function init(){

          * var bounds = new OpenLayers.Bounds(**
                    -119192.24, -42077.98,
                    -96875.16, -26545.94
            );

           var options = {
                    controls: [],
                    maxExtent: bounds,
                    maxResolution: 87.17609375,
                    projection: "EPSG:20791",
                    units: 'm'
            };*

            map = new OpenLayers.Map('map', *options*);

            var political = new OpenLayers.Layer.WMS(
                "State",
                "/geoserver/wms",
                {layers: 'space:peniche',
                 projection: new OpenLayers.Projection("EPSG:20791"),
                 displayProjection: new OpenLayers.Projection("EPSG:20791"),
                 format: 'image/png'}
            );


           var eixos_via = new OpenLayers.Layer.WFS(
                "Eixos de Via",
                "http://IP_DO_TEU_SERVIDOR:8080/geoserver/wfs",
                {typename: 'space:eixos_via_peniche'},
                {
                    typename: 'eixos_via_peniche',
                    featureNS: 'http://IP_DO_TEU_SERVIDOR:8080/space',
                    extractAttributes: false,
                    srsName: 'EPSG:20791',
                    geometryName: 'the_geom'

                }
            );

            eixos_via.style = OpenLayers.Util.applyDefaults({strokeColor:
"#ff0000"},
                    OpenLayers.Feature.Vector.style["default"]);

            var pontos_interesse = new OpenLayers.Layer.WFS(
                "Pontos de Interesse",
                "http://IP_DO_TEU_SERVIDOR:8080/geoserver/wfs",
                {typename: 'space:pontos_interese_peniche'},
                {
                    typename: 'pontos_interese_peniche',
                    featureNS: 'http://IP_DO_TEU_SERVIDOR:8080/space',
                    extractAttributes: false,
                    srsName: 'EPSG:20791',
                    geometryName: 'the_geom'
                }
            );
            pontos_interesse.style =
OpenLayers.Util.applyDefaults({strokeColor: "#0000ff"},
                    OpenLayers.Feature.Vector.style["default"]);


            map.addLayers([political, eixos_via, pontos_interesse]);


            var panel = new OpenLayers.Control.Panel(
                {displayClass: 'olControlEditingToolbar'}
            );

            var drawLine = new OpenLayers.Control.DrawFeature(
                eixos_via, OpenLayers.Handler.Path,
                {displayClass: 'olControlDrawFeaturePath'}
            );
            drawLine.featureAdded = function(feature) {
                feature.layer.eraseFeatures([feature]);
                // cast to multilinestring
                feature.geometry = new OpenLayers.Geometry.MultiLineString(
                    feature.geometry
                );
                feature.style.strokeColor = "#ff0000";
                feature.state = OpenLayers.State.INSERT;
                feature.layer.drawFeature(feature);
            }

            var drawPoint = new OpenLayers.Control.DrawFeature(
                pontos_interesse, OpenLayers.Handler.Point,
                {displayClass: 'olControlDrawFeaturePoint'}
            );
            drawPoint.featureAdded = function(feature) {
                feature.layer.eraseFeatures([feature]);
                feature.style.strokeColor = "#0000ff";
                feature.state = OpenLayers.State.INSERT;
                feature.layer.drawFeature(feature);
            }

            panel.addControls(
                [new OpenLayers.Control.Navigation(), drawLine, drawPoint]
            );

            map.addControl(panel);
            map.addControl(new OpenLayers.Control.LayerSwitcher());
            map.addControl(new OpenLayers.Control.ScaleLine());
            map.addControl(new OpenLayers.Control.PanZoomBar());
            map.addControl(new OpenLayers.Control.MousePosition());

            *map.zoomToExtent(bounds);*

        }
    </script>
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.osgeo.org/pipermail/portugal/attachments/20100610/11e878e9/attachment.html


More information about the Portugal mailing list