banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Mon 07 June 2010 13:32

soussou126
Participant occasionnel
Date d'inscription: 22 May 2010
Messages: 21

Searcher Mapfish

bonjour tout le monde,
ça fait quelques jours que je galère dans l'intégration de la recherche dans une application mapfish,

voici mon code (je me suis basée sur l'exemple: http://demo.mapfish.org/mapfishsample/t … 2corg.html
j'ai juste changer les layers

Code:

<script type="text/javascript">
    // make map global - useful for debug
    var map;
    var vectorLayer;
    var featureArray;
    var searcher;
    
    Ext.onReady(function() {
    
        var vectorStyle = OpenLayers.Util.extend(
            {}, OpenLayers.Feature.Vector.style['default']
        );
        vectorStyle.externalGraphic = "AQUA.png";
        vectorStyle.graphicWidth = 20;
        vectorStyle.graphicHeight = 20;
        vectorStyle.graphicYOffset = -20;
        vectorStyle.fillOpacity = 1.0;
        
        var scales = [
            442943842.5, 221471921.25, 110735960.625, 55367980.3125, 27683990.15625,
            13841995.078125, 6920997.5390625, 3460498.76953125, 1730249.384765625,
            865124.6923828125, 432562.34619140625, 216281.17309570312, 108140.58654785156,
            54070.29327392578
        ];
        
        var options = {
            projection: "EPSG:4326",
            controls: [new OpenLayers.Control.Navigation()] ,
            maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
            scales: scales
        };
        
        map = new OpenLayers.Map('map', options);
        
        var layer;
        
        layer = new OpenLayers.Layer.WMS("tasmania_state_boundaries",
            "http://192.192.2.33:8080/geoserver/wms?",
                {layers: 'tasmania_state_boundaries'},
                {isBaseLayer: true}
            );
        layer.setVisibility(true);
        map.addLayer(layer);
        
        layer = new OpenLayers.Layer.WMS( "tasmania_cities",
            "http://192.192.2.33:8080/geoserver/wms?",
            {
                //map: '/www/freemap.in/world/map/factbooktrans.map',
                transparent: true,
                layers: 'tasmania_cities',
                format: 'image/png'
            });
        layer.setVisibility(false);
        map.addLayer(layer);
        
        layer = new OpenLayers.Layer.WMS("tasmania_roads",
            "http://192.192.2.33:8080/geoserver/wms?",
                {layers: ['tasmania_roads'], format: 'image/png', transparent: true,
                singleTile: true}
        );
        layer.setVisibility(true);
        map.addLayer(layer);
        
        [b]vectorLayer = new OpenLayers.Layer.Vector("tasmania_roads", {
                style: vectorStyle,
                displayInLayerSwitcher: false
            });
        map.addLayer(vectorLayer);[/b]
        
        map.setCenter(new OpenLayers.LonLat(150, -41),6);
        map.addControl(new OpenLayers.Control.PanZoomBar());
        
        searcher = new mapfish.Searcher.Map({
            mode: mapfish.Searcher.Map.BOX,
            [b]url: mapfish.SERVER_BASE_URL +'tasmania_roads',[/b]
            protocol: {
                params: {
                    limit: 10,
                    attrs: "name,elevation",
                    no_geom: true
                }
            },
            displayDefaultPopup: true
        });
        
        map.addControl(searcher);
        
        var tree = new mapfish.widgets.LayerTree({map: map,
            useArrows: true,
            el: 'tree'});
            tree.render();
        
        });
        
        function activate() {
            var checked = document.getElementById("active").checked;
            if (checked) {
                alert('activer');
                searcher.activate();
                alert(searcher.url);
            } else {
                searcher.deactivate();
        }
    }

 </script>

ce qui m'intrigue ces sont les lignes en gras, je ne sais pas ce que je doit mettre dans le vector exactement et dans l'url du map.searcher
je travaille avec mapfish et geoserver 2.0, les layers que j'ai utilisé sont fornis par défaut avec geoserver!!
le problème est que lorsque je clique sur ma map, rien ne s'affiche (normalement une info bulle s'affiche), j'ai pas d'erreur javascript!!!
quelqu'un peut m'aider pour faire fonctionner ce code????

Hors ligne

 

#2 Mon 07 June 2010 13:42

soussou126
Participant occasionnel
Date d'inscription: 22 May 2010
Messages: 21

Re: Searcher Mapfish

encore une question:
est ce que je peux utiliser GetFeatureInfo ou lieu de mapfish.Searcher?? est ce que ça donne le même résultat que l'exemple http://demo.mapfish.org/mapfishsample/t … 2corg.html????
merci d'avance pour vos réponses

Hors ligne

 

Pied de page des forums

Powered by FluxBB