IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Pb affichage des données vecteur


Sujet :

Ext JS / Sencha

  1. #1
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut Pb affichage des données vecteur
    Bonjour à tous,

    je suis un néo-développeur en train de monter une application carto sur le web en html/JS

    je rencontre un problème dans mon code: les données vecteur ne s'affichent pas...j'ai bien mon tableau (gridpanel) dont les en-têtes de colonne s'affichent, mais pas les données...elles ne sont pas non plus placées sur la carte... auriez-vous une solution à ce problème?

    merci !

    au paasage le fichier gml est généré par un ogr2ogr...et j'ai aussi essayé avec un geojson...marche pas

    ci-dessous le code JS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
     
    Ext.apply(Ext.form.VTypes, {
        daterange : function(val, field) {
            var date = field.parseDate(val);
     
            if(!date){
                return;
            }
            if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
                var start = Ext.getCmp(field.startDateField);
                start.setMaxValue(date);
                start.validate();
                this.dateRangeMax = date;
            } 
            else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
                var end = Ext.getCmp(field.endDateField);
                end.setMinValue(date);
                end.validate();
                this.dateRangeMin = date;
            }
            /*
             * Always return true since we're only using this vtype to set the
             * min/max allowed values (these are tested for after the vtype test)
             */
            return true;
        }
    });
     
    // Parmètres d'affichage de la carte
    // var lon=2
    // var lat=47
    // var zoom=5
     
    // Une fois le chargement effectué...
    Ext.onReady(function() {
     
    // ----------------------------- OpenLayers -----------------------------------------------
     
    	OpenLayers.Lang.code="fr";
     
    	// Nouvel objet Map
        var map = new OpenLayers.Map( 'map', optionsMap );
     
    	// Options de la carte
    	var optionsMap = {
    		projection: new OpenLayers.Projection("EPSG:900913"),
    		displayProjection: new OpenLayers.Projection("EPSG:4326"),
    		units: "m",
    	};
     
    	// Couche Google Physical
    	var gphy = new OpenLayers.Layer.Google(
    		"Google Physical",
    		{type: G_PHYSICAL_MAP}
    	);
     
    	// Couche Google Hybrid
    	var ghyb = new OpenLayers.Layer.Google(
    		"Google Hybrid",
    		{type: G_HYBRID_MAP}
    	);
     
    	// Couche Google Satellite
    	var gsat = new OpenLayers.Layer.Google(
    		"Google Satellite",
    		{type: G_SATELLITE_MAP}
    	);
     
    	// Couche Google Street
    	var gmap = new OpenLayers.Layer.Google(
            "Google Streets",
            {type: G_NORMAL_MAP}
    	);
     
    	// Creation d'une couche vecteur
        var vecLayer = new OpenLayers.Layer.Vector("vector",
    		{
    			projection: new OpenLayers.Projection("EPSG:4326"), 
    			displayProjection: new OpenLayers.Projection("EPSG:4326")
    		}
    	);
     
    	// Ajout des couches raster à la carte
        map.addLayers([gsat, gphy, ghyb, gmap, vecLayer]);
     
    // -------------------------------------------------------------------------------------------
     
    	// Nouvel objet Panel
    	var panel = new OpenLayers.Control.Panel({defaultControl: pan});
     
    	// Nouveau control Pan
    	var pan = new OpenLayers.Control.MouseDefaults({title:"Déplacement"});
     
    	// Historique de navigation
    	nav = new OpenLayers.Control.NavigationHistory();
        map.addControl(nav);
     
    	// Gestionnaire de couches
    	map.addControl(new OpenLayers.Control.LayerSwitcher());
     
    	// Le cadre acceuillant les differents controls
    	panel.addControls([
    		pan,
    		new OpenLayers.Control.ZoomBox({title:"Zoom +"}),
    		nav.next,nav.previous,
    		new OpenLayers.Control.ScaleLine(),
            new OpenLayers.Control.Permalink('permalink'),
            new OpenLayers.Control.MousePosition(),
    		new OpenLayers.Control.Navigation(),
     
    	]);
     
    	// Ajout des controls à la carte
    	map.addControl(panel);
     
    // --------------------- GeoExt --------------------------------------------------------
    	var mapUI = new GeoExt.MapPanel({
            region : 'center',
            title: 'A Simple GeoExt Map',
    		center: new OpenLayers.LonLat(2, 47),
    		zoom: 5,
            map: map
        }); 
     
    	// Creation du bloc de données pour la "grid"
        var store = new GeoExt.data.FeatureStore({
    		layer: vecLayer,
            fields: [
                {name: 'code_capta', type: 'integer'},
                {name: 'Departemen', type: 'integer'},
    			{name: 'Molecule', type: 'string'},
    			{name: 'Commune', type: 'string'},
    			{name: 'Point_X', type: 'integer'},
    			{name: 'Point_Y', type: 'integer'}	
            ],
    		proxy: new GeoExt.data.ProtocolProxy({
                protocol: new OpenLayers.Protocol.HTTP({
                    url: "http://manu.thiebaut4.free.fr/data/captage_wgs84.gml",
                    format: new OpenLayers.Format.GML(),
                })
            }),
            autoLoad: true
        });
     
    	// Création de la "grid" configurée à partir du "store"
        var gridPanel = new Ext.grid.GridPanel({
            store: store,
    		region: 'east',
    		title: 'Observations',
    		width: '30%', 
    		split: true,
            columns: [{
                header: "Code",
                dataIndex: "code_capta",
    			sortable:true
            }, {
                header: "Département",
                dataIndex: "Departemen",
    			sortable:true
            }, {
                header: "Molécule Active",
                dataIndex: "Molecule",
    			sortable:true
            }, {
                header: "Commune",
                dataIndex: "Commune",
    			sortable:true
            }, {
                header: "Coordonnée X",
                dataIndex: "Point_X",
    			sortable:true
            }, {
                header: "Coordonnée Y",
                dataIndex: "Point_Y",
    			sortable:true
            }],
            sm: new GeoExt.grid.FeatureSelectionModel() 
        });
     
    	// Viewport
    	new Ext.Viewport({
            layout: "border",
            items: [mapUI, gridPanel]
        });   
     
    });
    la page web:

    http://sce.alwaysdata.net/


  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    salut,

    tu utilise une extension de Extjs ...
    je ne peux pas vraiment t aider ...
    je ne peux que te conseiller de relier la doc de geoext ...

    bon courrage a toi ^^

    voila un code qui semble marcher ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
       // create feature store, binding it to the vector layer
        store = new GeoExt.data.FeatureStore({
            layer: vecLayer,
            fields: [
                {name: 'name', type: 'string'},
                {name: 'elevation', type: 'float'}
            ],
            proxy: new GeoExt.data.ProtocolProxy({
                protocol: new OpenLayers.Protocol.HTTP({
                    url: "data/summits.json",
                    format: new OpenLayers.Format.GeoJSON()
                })
            }),
            autoLoad: true
        });
     
        // create grid panel configured with feature store
        gridPanel = new Ext.grid.GridPanel({
            title: "Feature Grid",
            region: "east",
            store: store,
            width: 320,
            columns: [{
                header: "Name",
                width: 200,
                dataIndex: "name"
            }, {
                header: "Elevation",
                width: 100,
                dataIndex: "elevation"
            }],
            sm: new GeoExt.grid.FeatureSelectionModel() 
        });

  3. #3
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Ce post est plus ou moins dupliqué non ?

    J'ai répondu dans le forum javascript en disant qu'il y a probablement un problème de Same Origin Policy : dans ton code tu attaques en AJAX un autre domaine que le tien non ?
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  4. #4
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    @ gwyohm, désolé pour le double-post, je n'avais pas remarqué l'existence du forum extjs...

    au niveau du problème, j'ai remplacé ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Creation d'une couche vecteur
        var vecLayer = new OpenLayers.Layer.Vector("vector",
    		{
    			projection: new OpenLayers.Projection("EPSG:4326"), 
    			displayProjection: new OpenLayers.Projection("EPSG:4326")
    		}
    	);
    par celui-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Creation d'une couche vecteur
        var vecLayer = new OpenLayers.Layer.Vector("vector", "http://manu.thiebaut4.free.fr/data",
    		{
    			layers: 'captage_wgs84',
    			projection: new OpenLayers.Projection("EPSG:4326"), 
    			displayProjection: new OpenLayers.Projection("EPSG:4326")
    		}
    	);
    en ajoutant en paramètre la source de mes données, ainsi que le layer à afficher...mais toujours aucun affichage...

    je suis vraiment perdu, tu me parles d'AJAX, je n'ai jamais touché à ça...

    ce que je peux ajouter en fait c'est que j'utilise GeoDjango ainsi qu'une base de données PostgreSQL, mais je ne pense pas que le problème vienne de là.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    bonjour,

    deja si tu n a rien dans ton tableau, c'est que la réponse réponse du serveur est erronée ...
    en json, tu dois avoir un réponse de type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"type": "FeatureCollection", "features": [{"geometry": {"type": "Point", "coordinates": [6.18218, 45.5949]}, "type": "Feature", "properties": {"elevation": 1770, "name": "Col d'Arclusaz"}, "id": 472}, {"geometry": {"type": "Point", "coordinates": [6.27827, 45.6769]}, "type": "Feature", "properties": {"elevation": 1831, "name": "Pointe de C\u00f4te Favre"}, "id": 458}, {"geometry": {"type": "Point", "coordinates": [6.47122, 46.0062]}, "type": "Feature", "properties": {"elevation": 2364, "name": "Pointe du Midi"}, "id": 487}, {"geometry": {"type": "Point", "coordinates": [6.82156068193, 46.3129835428]}, "type": "Feature", "properties": {"elevation": 1856, "name": "Col d'Outanne"}, "id": 5700}, {"geometry": {"type": "Point", "coordinates": [6.84989241629, 46.136626095]}, "type": "Feature", "properties": {"elevation": 2375, "name": "Col de Comba Mornay"}, "id": 5644}, {"geometry": {"type": "Point", "coordinates": [6.62, 46.187778]}, "type": "Feature", "properties": {"elevation": 2000, "name": "La Pointe"}, "id": 5710}, {"geometry": {"type": "Point", "coordinates": [5.9134, 44.93331]}, "type": "Feature", "properties": {"elevation": 2607, "name": "Le Coiro"}, "id": 496}, {"geometry": {"type": "Point", "coordinates": [6.03219, 45.7204]}, "type": "Feature", "properties": {"elevation": 1451, "name": "D\u00f4me de la Cochette"}, "id": 322}, {"geometry": {"type": "Point", "coordinates": [6.23048, 45.6324]}, "type": "Feature", "properties": {"elevation": 2197, "name": "Mont P\u00e9cloz"}, "id": 515}, {"geometry": {"type": "Point", "coordinates": [6.1962, 45.6927]}, "type": "Feature", "properties": {"elevation": 2181, "name": "Tr\u00e9lod"}, "id": 601}]}
    après en gml, j'en ai aucune idée ...
    essaye deja d'afficher tes données dans ton grid via ton store ...
    après occupe toi de ton affichage ...

    deplus, je ne suis pas sur ton l'objet OpenLayers.Layer.Vector acceptes les modife de tes paramètres d'entrée ... regarde bien la doc ...

  6. #6
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    et bien écoute je tente de faire ça depuis ce midi, takitano...

    je fais ça, avec le minimum:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    Ext.onReady(function() {
     
    	// Couche vecteur
    	var gml = new OpenLayers.Layer.GML(
        "vector",
        "http://manu.thiebaut4.free.fr/data/captage_wgs84.gml"
    	);
     
    	// Couche Google Physical
    	var gphy = new OpenLayers.Layer.Google(
    		"Google Physical",
    		{type: G_PHYSICAL_MAP}
    	);
     
    	//MapPanel
    	var mapPanel = new GeoExt.MapPanel({
            map : {
                controls: [
                    new OpenLayers.Control.Navigation(),
                    new OpenLayers.Control.PanPanel(),
                    new OpenLayers.Control.ZoomPanel(),
    				new OpenLayers.Control.LayerSwitcher()
                ],
                allOverlays : false
            },
            region : 'center',
            title : 'map',
            layers: [gphy, gml],
            extent: [-5, 35, 15, 55],
        });     
     
     
    	// Creation du bloc de données pour la "grid"
        var store = new GeoExt.data.FeatureStore({
    		layer: gml,
            fields: [
                {name: 'code_capta', type: 'integer'},
                {name: 'Departemen', type: 'integer'},
    			{name: 'Molecule', type: 'string'},
    			{name: 'Commune', type: 'string'},
    			{name: 'Point_X', type: 'integer'},
    			{name: 'Point_Y', type: 'integer'}	
            ],
    		proxy: new GeoExt.data.ProtocolProxy({
                protocol: new OpenLayers.Protocol.HTTP({
                    url: "http://manu.thiebaut4.free.fr/data/captage_wgs84.gml",
                    format: new OpenLayers.Format.GML(),
                })
            }),
            autoLoad: true
        });
     
    	// Création de la "grid" configurée à partir du "store"
        var gridPanel = new Ext.grid.GridPanel({
            store: store,
    		title: 'Observations',
    		width: '30%', 
    		region : 'east',
    		split: true,
            columns: [{
                header: "Code",
                dataIndex: "code_capta",
    			sortable:true
            }, {
                header: "Département",
                dataIndex: "Departemen",
    			sortable:true
            }, {
                header: "Molécule Active",
                dataIndex: "Molecule",
    			sortable:true
            }, {
                header: "Commune",
                dataIndex: "Commune",
    			sortable:true
            }, {
                header: "Coordonnée X",
                dataIndex: "Point_X",
    			sortable:true
            }, {
                header: "Coordonnée Y",
                dataIndex: "Point_Y",
    			sortable:true
            }],
            sm: new GeoExt.grid.FeatureSelectionModel() 
        });
     
    	// Viewport
    	new Ext.Viewport({
            layout: "border",
            items: [gridPanel, mapPanel]
        });   
     
    });
    mais toujours pas de données vecteur...

  7. #7
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    oulàlà j'ai toujours mon problème...

    ça fait maintenant près d'une semaine que je ne passe mon temps qu'à essayer de résoudre le soucis...

    c'est chelou quand même, j'ai beau utiliser presque le même code que des appli visibles sur le web, même en utilisant un adressage absolu ou relatif, en stockant mon script et mes fichiers sur le même espace de stockage ou non...



    notamment cette appli:
    http://dev.geoext.org/trunk/geoext/e...ture-grid.html

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    ok ... je regarderais ton code ce soir ... ^^

  9. #9
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    merci takitano, c'est sympa!
    toujours pas vancé de mon côté...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    salut ...

    je suis en teain de regarder ton code ...
    juste pour te dire ... que ton serveur renvoi aucune coordonnée, c'est donc normal, que rien s'affiche ...



    ps: désolé pour le retard mais je suis très occupé ... :s
    voila ... je te posterais sune correction ...

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    En fait, le problème général, est que le client ne comprend pas les vecteur que tu lui envoies ... je ne sais pas pourquoi ...
    il faut regarder au niveau de le header de ta requete ajax.

    je remarque que la réponse est en utf-8
    ( à modifier dans le content type via la fonction header() de PHP)
    et que tu as une connexion: stop ...

    Tu devrais faire une exemple simple d'affichage de vecteur, pour résoudre le problème ...

    voila, je n'ai pas trouver l'erreur ... mais j'espère te donner des pistes intéressantes ...

    a plus

  12. #12
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    salut!

    j'ai suivi le travail sur un de mes collègues à propos de geodjango pour charger mes données grâce à une requête ajax,
    désormais il me reste une erreur firebug...

    [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]" nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)" location: "JS frame :: http://manu.thiebaut4.free.fr/OpenLa.../OpenLayers.js :: anonymous :: line 1081" data: no]

    bon j'ai cherché sur internet pour voir à quoi ça correspondait.
    ça viendrait d'une erreur dans la méthode "abort()", mais là je nage complètement dans la semoule...

    quelqu'un aurait une idée sur ce sujet?

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    ola ...

    Pour trouver l'origine de ton pb....

    tu desactives tout ton code ...
    et puis active ligne par ligne ton code ...

    bon courage a toi ...

  14. #14
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    j'ai réussi à afficher mes données vecteur, cependant il reste toujours un soucis au niveau du placement de mes points...

    selon vous, est-ce que mon paramétrage de map est bon?
    voilà les parties concernées, dans mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    var mapPanel, store, gridPanel, viewport;
     
    // Initialisation
    Ext.onReady(function() {
     
    	// Langue francaise
    	OpenLayers.Lang.code="fr";
     
    	// New Map Object
    	var map = new OpenLayers.Map('map', optionsMap);
     
    	// Map Options
    	var optionsMap = {
    		projection: new OpenLayers.Projection("EPSG:900913"),
    		displayProjection: new OpenLayers.Projection("EPSG:4326"),
    		units: "m",
    	};
     
    	// Google Physical Layer
    	var gphy = new OpenLayers.Layer.Google(
    		"Google Physical",
    		{type: G_PHYSICAL_MAP}
    	);
     
    	// Google Hybrid Layer
    	var ghyb = new OpenLayers.Layer.Google(
    		"Google Hybrid",
    		{type: G_HYBRID_MAP}
    	);
     
    	// Google Satellite Layer
    	var gsat = new OpenLayers.Layer.Google(
    		"Google Satellite",
    		{type: G_SATELLITE_MAP}
    	);
     
    	// Google Street Layer
    	var gmap = new OpenLayers.Layer.Google(
            "Google Streets",
            {type: G_NORMAL_MAP}
    	);
     
    	// WFS Layer	
    	layer_captage = new OpenLayers.Layer.WFS(
            "Captages d'Alimentation en Eau Potable",
            "/captage/filter/kml/" + critere_selection + "/",
                {
                }, {
                    'projection': new OpenLayers.Projection("EPSG:4326"),
        		    'format': OpenLayers.Format.KML,
        		    'formatOptions': { extractAttributes: true }
        		} );
     
     
    	// Add Layers to Map
        map.addLayers([gphy, gsat, gmap, ghyb, layer_captage]);
    	map.setBaseLayer(gphy);
     
     
        // Create Map Panel
        mapPanel = new GeoExt.MapPanel({
            title: "Map",
            region: "center",
            map: map,
            center: new OpenLayers.LonLat(2, 47),
    		zoom: 5
        });
     
        // Create feature store, binding it to the vector layer
        store = new GeoExt.data.FeatureStore({
            layer: layer_captage,
            fields: [
                {name: 'code_capta', type: 'string'},
                {name: 'departemen', type: 'string'},
    			{name: 'molecule', type: 'string'},
    			{name: 'commune', type: 'string'}
            ],
    		proxy: new GeoExt.data.ProtocolProxy({
                protocol: new OpenLayers.Protocol.HTTP({
                    url: "/captage/filter/kml/" + critere_selection + "/",
                    format: new OpenLayers.Format.KML({
    				})
    			})
            }),
            autoLoad: true
        });
    });
    merci beaucoup pour l'aide apportée!

  15. #15
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    je comprends pas...normalement google maps comprend lorsqu'il s'agit d'une couche wfs en wgs84...
    je croyais qu'il suffisait d'indiquer le paramètre "sphericalMercator" à "true" pour mes couches google...


  16. #16
    Futur Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    toujours personne??

    je crois avoir écumé tous les forums du net, sans y trouver ce que je cherche...

    j'aimerais obtenir une réponse claire, car pour l'instant rien de la sorte...

    est-il possible de projeter correctement des données en wgs84 en données code EPSG:900913 pour afficher sur des plans google maps via openlayers??


Discussions similaires

  1. [MySQL] Affichage des données d'une base
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 30
    Dernier message: 01/02/2006, 16h35
  2. [Tableaux] Affichage des données par lot
    Par randriarabe dans le forum Langage
    Réponses: 1
    Dernier message: 07/12/2005, 08h23
  3. pb d'affichage des données
    Par new_wave dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 03/11/2005, 17h31
  4. TDBCtrlGrid - Affichage des données
    Par audreyb dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/10/2004, 13h10
  5. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo