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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Sat 14 January 2012 02:00

sly@rcheo
Participant occasionnel
Lieu: Tours
Date d'inscription: 12 Jan 2012
Messages: 33
Site web

[OpenLayers-EXt-GeoExt] WMSGetFeatureInfo dans une fenêtre (200 OK)

Bonjour à tous,
ça y est je me lance après des jours et des nuits de consultation du forum pour lancer ma propre bouteille à la mer...
Voilà dans le cadre d'un projet court je n'arrive pas à faire afficher le résultat de mon WMSGetFeatureInfo dans une fenêtre Ext.. j'avais récupéré un code sur un sujet précédent du forum qui me paraissait complet et compréhensible. mais je suis bloqué..

Pour voir ou j'en suis et le problème : archeomatic.free.fr/eval2011/eval2011.html
le code en question:

Code:

//BOUTON et Fenetre : WMSGetFeatureInfo 
action = new GeoExt.Action({
    text: 'info',
    icon : "../eval2011/img/information-white.png",
    control: new OpenLayers.Control.WMSGetFeatureInfo({
        url: 'http://www.MONSITE.fr:80/geoserver/wms',
        // title: 'Information sur les couches WMS',
        // requête sur les couches visibles
        queryVisible: true,
        eventListeners: {
            getfeatureinfo: function (event) {
                var output = event.text,
                    // Objet fenêtre d'affichage des attributs
                    WinInfo = new Ext.Window({
                        x      :650,
                        y      :190,
                        title  : "Informations",
                        height : 255,
                        width  : 150,
                        layout: "fit",
                        //autoHeight: true,
                        plain: true,
                        constrain: true,
                        collapsible: true,
                        closable   : true,
                        draggable  : true,
                        resizable: false,
                        animCollapse: true,
                        items: [{
                            border: true,
                            bodyStyle: {
                                padding: 5,
                                fontSize: 13
                            },
                            html: output
                        }]
                    });
                WinInfo.show();
            }
        },
        out: true
    }),
    tooltip: 'Cliquer sur la carte pour avoir des informations sur les objets',
    map: map,
    iconCls: 'info',
    toggleGroup: 'map'
});

Je pige pas la fenêtre ext est bien censée afficher le résultat de la requête (output) ?non ?
En plus firebug m'affiche la requête style


mais avec une erreur 220 OK en bout de ligne. SI j'ouvre cette url dans un nouvel onglet de Firefox le tableau apparait comme j'en rêve depuis plusieurs nuits.. mais pas dans ma fenêtre!!

Problème de proxy (c'est pas que pour les WFS ?)
Si je met la ligne

OpenLayers.ProxyHost = "proxy.cgi?url=";


avec le fichier proxy.cgi dans le répertoire cgi-bin
et bah:  erreur 404 mais qui par contre s'affiche bien dans ma fenêtre !!!

Voila je ne sais plus dans quelle direction me jeter.. Bien à Vous
Sylvain

Dernière modification par sly@rcheo (Sun 15 January 2012 17:26)

Hors ligne

 

#2 Sun 15 January 2012 17:42

sly@rcheo
Participant occasionnel
Lieu: Tours
Date d'inscription: 12 Jan 2012
Messages: 33
Site web

Re: [OpenLayers-EXt-GeoExt] WMSGetFeatureInfo dans une fenêtre (200 OK)

Salut à tous,
bon le schmilblick avance, cela seble être réellemnent un problème de proxy et de "cross domain ajax call"(désolé si je ne maitrise pas tous les termes et concepts;) )
A force de chercher j'ai trouvé une demie solutiongrâce à http://khayer.wordpress.com/2010/07/14/ … h-geosever
en fait on créer un fichier geoproxy.php avec à l'intérieur ce bout de code

Code:

<?php
$url=$_GET["url"];
$res = file_get_contents($url);
echo $res; 
?>

Puis je mets au début de mon Javascript

Code:

OpenLayers.ProxyHost = “geoproxy.php?url=”;

et voila cela marche très bien en local (avec l'url localhost/eval2011/2011.html) preuve que mon code est bon
Mais par contre quand je transfert mes fichiers sur http://archeomatic.free.fr/eval2011/eval2011.html
cela ne fonctionne toujours pas..!! même erreur!!
quelqu'un aurait une idée?
Merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB