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

IGN API Géoportail Discussion :

[API JS] Impossible de sauvegarder un croquis + impression de croquis sans couleur


Sujet :

IGN API Géoportail

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [API JS] Impossible de sauvegarder un croquis + impression de croquis sans couleur
    Bonjour,
    j'essaie de sauvegarder une carte avec un croquis. Lorsque je clique sur le bouton "sauvegarder" de la barre de dessin, une fenêtre s'ouvre bien mais quand je clique sur le bouton "Sauvegarder" de la popup, cela ouvre un autre page de mon serveur et ma carte n'est pas sauvegardée au format KML comme je l'ai choisi. Y-a t'il un élément à paramétrer ?

    De plus, lorsque j'essaie d'imprimer ma carte avec mes deux croquis avec 2 couleurs différentes, la carte s'affiche dans l'écran d'impression mais mes formes ont la couleur de base jaune. S'agit-il d'un bug ou la coloration n'est-elle pas prise en charge dans le module d'impression ?


    J'utilise WAMP et l'API Geoportail au format js, j'affiche la page maPageApi.html jointe dans ce post.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué Avatar de nicolas.h
    Homme Profil pro
    Géomètre-programmeur
    Inscrit en
    Septembre 2012
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Géomètre-programmeur
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2012
    Messages : 122
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    Tout d'abord concernant votre problème de kml, celui ne remonte pas car l'option de sauvegarde du croquis n'est pas présente dans votre code, pour faire cela, voici un exemple d'ajout du bouton de sauvegarde qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    
    viewer.getMap().addControl(new Geoportal.Control.DrawingToolbar(
          layer, 
          { 
            mode: 'single',
            // options du bouton de sauvegarde de la couche
            saveLayerOptions: {
               url: 'http://api.ign.fr/geoportail/api/save'
            }
          }
        ) );
    Ensuite concernant les couleurs lors de l'impression par défaut (printMap) ne gère pas les différentes couleurs, ceci étant il existe un control équivalant qui s'apelle printMapDOM qui permet de gérer cela, si vous souhaité utiliser ce control, il vous faudra procéder de la manière suivante:

    -> Remplacer votre code ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nv.addControls([new Geoportal.Control.PrintMap()]);
    -> Par celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nv.addControls([new Geoportal.Control.PrintMapDOM()]);

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Sauvegarde d'une couche vectorielle impossible
    Bonjour,
    je vous remercie pour votre réponse rapide. Je viens de tester ma page avec vos modifications : l'impression marche nickel.
    En revanche, on veut pouvoir gérer des couleurs différentes pour des polygones dessinés. Il faut donc utiliser la DrawingToolbar en mode multiple.
    Cependant quand je tente de sauvegarder ma nouvelle couche vectorielle, l'applet réagit comme si l'option de sauvegarde du croquis n'était pas présente dans le code.
    Par ailleurs, lorsque je sauvegarde mon croquis, le fichier généré n'a pas d'extensions.


    Merci d'avance

    PS pour info : on retrouve ce comportement dans l'exemple fourni ici : Barre de croquis en mode multiple
    Fichiers attachés Fichiers attachés

  4. #4
    Membre habitué Avatar de nicolas.h
    Homme Profil pro
    Géomètre-programmeur
    Inscrit en
    Septembre 2012
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Géomètre-programmeur
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2012
    Messages : 122
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    Pour répondre à vos questions:

    En revanche, on veut pouvoir gérer des couleurs différentes pour des polygones dessinés. Il faut donc utiliser la DrawingToolbar en mode multiple.
    Cependant quand je tente de sauvegarder ma nouvelle couche vectorielle, l'applet réagit comme si l'option de sauvegarde du croquis n'était pas présente dans le code.
    Actuellement l'api se base sur OpenLayers 2.12, celui-ci ne propose pas "d'options" qui permettent de sauvegarder les couleurs des différents croquis. Cependant, si vous souhaitez aller plus loin, il existe déjà une réflexion et des premiers bout de code sur ce problème, pôur plus de renseignements je vous invite donc à vous rendre sur le lien suivant:

    http://trac.osgeo.org/openlayers/ticket/2409


    Par ailleurs, lorsque je sauvegarde mon croquis, le fichier généré n'a pas d'extensions.
    L'exemple api ci-dessous:
    http://api.ign.fr/tech-docs-js/examp...gToolbar2.html

    Permet de sauvegarder vos croquis avec l'extension, je vous invite donc à vous en inspirer afin de résoudre cela.

  5. #5
    Candidat au Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    il y a deux points :

    1. Problème de la sauvegarde d'une couche vectorielle
      Actuellement l'api se base sur OpenLayers 2.12, celui-ci ne propose pas "d'options" qui permettent de sauvegarder les couleurs des différents croquis.
      Actuellement je ne cherche pas à sauvegarder la couleur mais enregistrer une nouvelle couche vectorielle.
      Lorsque je définis ma DrawingToolbar en mode multiple, à l'affichage de ma carte, j'ai une couche vectorielle de dessin.
      Je trace un polygone et enregistre mon schéma --> OK.
      J'ai aussi la possibilité d'ajouter une nouvelle couche vectorielle. J'ajoute donc une couche et trace un polygone dessus. Quand je tente de sauvegarder cette couche, le bouton de sauvegarde réagit comme si je n'avais pas défini l'option de sauvegarde KML.
    2. Problème de l'extension
      J'avais déjà regardé l'exemple que vous m'avez indiqué et il me manquait la partie en gras.

      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
      viewer.getMap().addControl(new Geoportal.Control.DrawingToolbar(
      	 layer, 
      	{ 
      		mode: 'multiple',
      		// options du bouton de sauvegarde de la couche
      		saveLayerOptions: {
      			 url: 'http://api.ign.fr/geoportail/api/save' ,
      			 supportedFormats:{
      				kml: {
      					formatClass: OpenLayers.Format.KML,
      					options:{
      							mime: 'application/vnd.google-earth.kml'
      						  }
      					}
      				}
      			}
      		}
      ));
      Cependant j'obtiens toujours un fichier sans extension. La seule différente entre ma page et celle de test est le layer : dans mon cas, j'utilise un Geoportal.Viewer.Default, dans l'exemple un Geoportal.Viewer.Simple.

      Dans mon code, je crée mon viewer via l'instruction
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Geoportal.load(....,viewerClass:"Geoportal.Viewer.Default")
      . J'ai essayé de remplacer la viewerClass par la
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Geoportal.Viewer.Simple
      mais mes toolbars disparaissent. J'ai donc repris le code de l'exemple qui utilise
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      viewer= new Geoportal.Viewer.Simple
      cependant je perds ma facilité de paramètrage. En effet, je n'ai pas réussi à remettre le zoom par défaut à l'indice 20
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      viewer.getMap().zoomTo(20)
      , ni à positionner la map sur une adresse.

      Avez-vous une explication pour cette absence d'extension ?



    Cordialement

  6. #6
    Membre habitué Avatar de nicolas.h
    Homme Profil pro
    Géomètre-programmeur
    Inscrit en
    Septembre 2012
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Géomètre-programmeur
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2012
    Messages : 122
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    Pour répondre à vos questions:

    Citation Envoyé par didine2190 Voir le message
    Problème de la sauvegarde d'une couche vectorielle
    J'ai aussi la possibilité d'ajouter une nouvelle couche vectorielle. J'ajoute donc une couche et trace un polygone dessus. Quand je tente de sauvegarder cette couche, le bouton de sauvegarde réagit comme si je n'avais pas défini l'option de sauvegarde KML.
    L'ajout du code suivant:
    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
    var layer = new OpenLayers.Layer.Vector("Dessin");
    
        //Ajout de la barre de dessin 
        viewer.getMap().addControl(new Geoportal.Control.DrawingToolbar(
          layer, 
          { 
            mode: 'multiple',
            // options du bouton de sauvegarde de la couche
            saveLayerOptions: {
               url: 'http://api.ign.fr/geoportail/api/save' ,
               supportedFormats:{
                 kml: {
                  formatClass: OpenLayers.Format.KML,
                  options:{
                    mime: 'application/vnd.google-earth.kml'
                  }
                }
              }
            }
          }
        ));
    Vous permet bien d'ajouter directement au chargement de l'api une couche vectoriel dont la sauvegarde du croquis se fera en KML, par contre ce même code ne permet pas le "forçage" d'ajout manuel de couche vectoriel en KML (l'api n'offre pas d'option pour faire cela manuellement). Ainsi si vous souhaitez bloquer vos couches vectoriel pour que celle-ci se sauvegarde uniquement en kml, il vous faudra ajouter celle-ci directement dans le code javascript comme au dessus.

    Citation Envoyé par didine2190 Voir le message
    Problème de l'extension
    Cependant j'obtiens toujours un fichier sans extension. La seule différente entre ma page et celle de test est le layer : dans mon cas, j'utilise un Geoportal.Viewer.Default, dans l'exemple un Geoportal.Viewer.Simple.

    Avez-vous une explication pour cette absence d'extension ?
    Actuelement nous n'avons pas réelement d'explication à ce problème, cependant ce problème n'apparait chez nous que sous Firefox (avec chrome par exemple votre code nous génère bien une sauvegarde avec l'extension kml). Nous continuons donc à chercher d'ou vient le problème et reviendrons vers vous lorsque nous auron trouvé une explication.

Discussions similaires

  1. Restauration impossible après sauvegarde
    Par Herve82 dans le forum Administration
    Réponses: 3
    Dernier message: 04/02/2009, 11h07
  2. Word 2003 - Impossible de sauvegarder
    Par alex_m94 dans le forum Word
    Réponses: 9
    Dernier message: 23/05/2008, 08h24
  3. Réponses: 8
    Dernier message: 25/10/2007, 21h26
  4. Réponses: 7
    Dernier message: 02/10/2006, 17h55
  5. Réponses: 9
    Dernier message: 07/09/2006, 14h19

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