Pages: 1
- Sujet précédent - Mapserver/OpenLayers:impossible afficher carte après choix de données - Sujet suivant
#1 Fri 28 February 2014 15:29
- TanaKevin
- Juste Inscrit !
- Date d'inscription: 28 Feb 2014
- Messages: 2
Mapserver/OpenLayers:impossible afficher carte après choix de données
Bonjour à tous,
Je développe un webmapping dynamique: PostGreSQL/PostGIS/Mapserver/OpenLayers/(Langage Javascript(AJAX). Jusqu'à présent, j'arrive à afficher ma carte au chargement(avec des valeurs figées) sur le fond OSM. Cependant, dans mon fichier Template(HTML), j'ai des listes déroulantes et zones de texte (remplies avec les données).Je souhaiterais afficher ma carte en fonction des données choisies par l'utilisateur par un click sur un bouton.Quel choix dois-je faire entre POST et GET? Je n'ai qu'une page HTML actuellement. Quelles sont les démarches?
Merci d'avance pour d'éventuelles idées.
Hors ligne
#2 Fri 28 February 2014 17:42
Re: Mapserver/OpenLayers:impossible afficher carte après choix de données
Bonjour,
Ca dépend de ce que tu dois faire avec tes boutons. Si ton bouton est de zoomer sur une zone (par exemple une liste de département), tu peux tout faire un JS mais ta liste déroulante devra récupérer la localisation du département pour zoomer dessus. Dans ce cas là pas de POST ni de GET car pas d'envoi côté serveur.
Si tu penses que tu as besoin d'un retour du serveur, zoomer sur une zone après une recherche, le choix de la méthode est plus une questions de tailles des paramètres à envoyer aux serveurs. Si tu n'as pas trop d'information, la méthode GET est suffisante, si la taille est un peu importante la requête sera coupée (il y a une limitation de la longueur de l'URL dans les navigateurs), dans ce cas là la méthode POST est nécessaire.
Côté serveur tu as besoin de code écrit dans un langage dynamique pour qu'il puisse récupérer les paramètres, les traiter et renvoyer les informations après une mise en forme (JSON, GeoJSON, XML, autre). Le PHP est assez facile d'approche et bien supporté sur les serveurs. Python est un langage dynamique également et enfin JAVA. Le choix se fera sur des compétences propres, tes envies et des disponibilités des personnes qui peuvent t'aider.
Toujours côté serveur, tu as déjà probablement un serveur HTML (Apache ?), celui-ci gère sans soucis PHP (juste une extension à installer) et Python (idem). Reste le plus dur : développer tes services qui seront appelés par tes requêtes issus du formulaire
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 Sat 01 March 2014 11:21
- TanaKevin
- Juste Inscrit !
- Date d'inscription: 28 Feb 2014
- Messages: 2
Re: Mapserver/OpenLayers:impossible afficher carte après choix de données
Bonjour Yves,
Merci pour les orientations. Au fait, dans ma couche de base, j’ai des données attributaires telles les noms des régions, des préfectures et des sites (classés par type). J’ai fait un filtre paramétré dans mon mapfile sur le champ attributaire typesite. Ce filtre fonctionne bien au chargement de la page html car j’ai figé la valeur dans la déclaration ma couche WMS. Or, je veux quand un utilisateur sélectionne un type de site, en cliquant sur le bouton « rechercher », uniquement la couche de base (carte) ne doit afficher que ce type sélectionné.
Ci-dessous une partie du code où j'ai figé la valeur du champ type de site:
Code:
var wms=new OpenLayers.Layer.WMS("CARTE_SousPrefecture", "http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/sgdepid_map_test7.map&", { layers: 'CARTE_SousPrefecture,localite,site', format: 'image/png', width:'600', height:'400', styles:'default', transparent:true, srs:'EPSG:3857', maxExtent:new OpenLayers.Bounds(-20037508,-20037508,20037508,20037508), visibility:true, units:'m', isBaseLayer:false, WrapDateLine:true, projection:new OpenLayers.Projection("EPSG:4326"), displayProjection:new OpenLayers.Projection("EPSG:3857"), extractAttributes:true, reaspect:false, typesites:'ARV', // Valeur figée zoom:9 }
Cordialement,
Hors ligne
#4 Sat 03 May 2014 12:58
Re: Mapserver/OpenLayers:impossible afficher carte après choix de données
Bonjour,
Il faut modifier cette valeur 'ARV' par une variable et/ou la modifier avec du code javascript (ie récupérer la valeur du formulaire, et mettre à jour l'objet wms en conséquence.
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
Pages: 1
- Sujet précédent - Mapserver/OpenLayers:impossible afficher carte après choix de données - Sujet suivant