Pages: 1
- Sujet précédent - [ExtJs, GeoExt, Geoserver] GeoExt.data.WMSCapabilitiesStore - Sujet suivant
#1 Fri 30 March 2012 10:23
- zone12
- Participant actif
- Date d'inscription: 3 Jan 2008
- Messages: 56
[ExtJs, GeoExt, Geoserver] GeoExt.data.WMSCapabilitiesStore
Bonjour,
j'ai ne parviens pas à afficher des données récupérées via WMS dans un tableau à l'aide des librairies Ext (4.0.2a) et GeoExt (1.1) et de Geoserver (2.1.3). Mon code fonctionne parfaitement en utilisant uniquement OpenLayers (suivant cette exemple), mon proxy est correctement paramétré.
Je me base sur l'exemple publié par OpenGeo. Cet exemple est un peu différent car il affiche les informations sur les couches et non pas les données des couches.
Dans la console de Firebug j'obtiens le message :
Code:
GeoExt.data.WMSCapabilitiesStore.superclass is undefined GeoExt.data.WMSCapabilitiesStore.superclass.constructor.call(
Mon code est le suivant :
Code:
var grid = new Ext.grid.Panel({ title: "Available WMS layers", renderTo: 'data', //correspond à <div id="data"></div> width: 200, height: 200, //viewConfig: {forceFit: true}, store: new GeoExt.data.WMSCapabilitiesStore ({ url: "http://mondomaine:8080/geoserver/ows?service=WMS&request=GetCapabilities", autoLoad: true }), columns: [ {header: "Name", dataIndex: "name", sortable: true}, {header: "Title", dataIndex: "title", sortable: true}, {header: "Abstract", dataIndex: "abstract"} ] });
J'ai modifié Ext.grid.GridPanel de l'exemple en Ext.grid.Panel, car GridPanel n'existe pas dans la documentation officielle ExtJs.
J'ai également passé en commentaire "viewConfig" car je ne retrouve pas ce paramètre dans la documentation ExtJs.
(j'ai testé en laissant les paramètres tel que dans l'exemple mais j'ai le même message d'erreur).
Lorsque je lance directement "http://mondomaine:8080/geoserver/ows?service=WMS&request=GetCapabilities" dans mon navigateur j'obtiens bien :
Code:
<WMS_Capabilities version="1.3.0" updateSequence="255" xsi:schemaLocation="http://www.opengis.net/wms ....
J'espère avoir été assez précis.
Quelqu'un aurait-il une piste ?
Merci bien.
Hors ligne
#2 Fri 30 March 2012 10:32
Re: [ExtJs, GeoExt, Geoserver] GeoExt.data.WMSCapabilitiesStore
Bonjour,
Je n'ai pas d'idée pour l'erreur mais ce que je peux dire est que GeoExt n'est pas compatible pour le moment avec Ext 4. Cela fera l'objet d'un sprint code en mai.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Fri 30 March 2012 12:18
- zone12
- Participant actif
- Date d'inscription: 3 Jan 2008
- Messages: 56
Re: [ExtJs, GeoExt, Geoserver] GeoExt.data.WMSCapabilitiesStore
Merci pour cette info, je n'avais pas pensé à cette piste.
Il s'agit surement d'un problème de compatibilité de version. J'avais en effet fermé les yeux sur de nombreux avertissements de la console de Firebug relatifs aux bibliothèques javascript.
Je suis donc allé sur le site GeoExt pour vérifier les dépendances :
GeoExt 1.1 Release Notes
Dependencies
Ext JS 3 >= 3.4.0
OpenLayers >= 2.11
GeoExt 1.1 was tested with Ext JS 3.4.0 and OpenLayers 2.11
Openlayers 2.11 - OK
Ext JS 4.0.2a replacé par Ext JS 3.4.0 - OK
Dans mon code je remet "GridPanel", cf la documentation Ext JS 3.4.0
Code:
var grid = new Ext.grid.GridPanel({
Idem pour "viewConfig"
Code:
viewConfig: {forceFit: true},
Et là je remarque que j'ai encore des erreurs dans la console Firebug relatives à Ext et GeoExt du type :
Code:
Ext is not defined ...;if(a.getMonth()==G.getMonth()&&a.getFullYear()==G.getFullYear()){this.cells.rem... ext-all.js (line 7) Ext is not defined Ext.namespace("GeoExt.data"); Attrib...ader.js (line 18)
L'erreur se rapportant à mon code est maintenant :
Code:
Ext is not defined var grid = new Ext.grid.GridPanel({
J'ai également testé avec d'autres combinaisons de version Ext et GeoExt, mais il y a toujours des erreurs similaires.
Hors ligne
#4 Fri 30 March 2012 14:50
- zone12
- Participant actif
- Date d'inscription: 3 Jan 2008
- Messages: 56
Re: [ExtJs, GeoExt, Geoserver] GeoExt.data.WMSCapabilitiesStore
La solution ! J'ai d'ailleurs un peu honte
ExtJS ne se chargeait pas, tout simplement.
je n'avais déclaré que le fichier ext-all.js :
Code:
<script src="./javascript/ext-3.4.0/ext-all.js" type="text/javascript"></script>
et il fallait déclarer ext-base.js puis ext-all.js :
Code:
<script src="./javascript/ext-3.4.0/adapter/ext/ext-base.js" type="text/javascript"></script> <script src="./javascript/ext-3.4.0/ext-all.js" type="text/javascript"></script>
Attention l'ordre semble important.
Merci Yves
Dernière modification par zone12 (Fri 30 March 2012 14:52)
Hors ligne
Pages: 1
- Sujet précédent - [ExtJs, GeoExt, Geoserver] GeoExt.data.WMSCapabilitiesStore - Sujet suivant