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 :

Fichiers GPX, balise link


Sujet :

IGN API Géoportail

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Points : 60
    Points
    60
    Par défaut Fichiers GPX, balise link
    Bonjour,
    Lors du développement d'un projet, sur la dernière version de l'API IGN? je me suis aperçu que la balise <link> des fichiers GPX semblait ne pas être exploitée. Quelqu'un a-t-il pu constater également ce problème ?
    A moins que je m'y soit mal pris...
    Un exemple serait-il accessible le cas échéant ?

  2. #2
    Membre averti
    Femme Profil pro
    Consultante SIG
    Inscrit en
    Mars 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultante SIG

    Informations forums :
    Inscription : Mars 2011
    Messages : 233
    Points : 356
    Points
    356
    Par défaut
    Bonjour,
    Pouvez vous préciser une peu plus votre besoin?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Points : 60
    Points
    60
    Par défaut Clic sur tracé -> URL
    Les versions 1.1 de GPX permettent de gérer des balises <link> (voir structure fichier gpx : http://www.topografix.com/GPX/1/1/#type_linkType.

    J'ai une carte contenant plusieurs couches de tracés gpx correspondant à des itinéraires. Il s'agit d'une sorte de vue globale ou catalogue des tracés du site.

    Or, les seules méthodes que j'ai trouvées m'ont permis de lire la balise <name> et (je crois, mes tests commencent à dater) la balise <description> du tracé. Par contre, je n'ai trouvé aucune méthode permettant de récupérer les valeurs de la balise <link> dans laquelle je souhaitais intégrer des URL qui auraient pointé vers les pages requises par clic.

    Du coup, je n'ai pu réaliser le développement qu'en utilisant ce qui était à ma portée, la balise <name> dans laquelle j'ai donc inséré une URL pour que la méthode onselect fonctionne.

    J'espère que cette explication vous convient mieux.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Points : 60
    Points
    60
    Par défaut Réponse par Openlayers API
    Bonjour,
    La documentation de l'API OPENLAYERS vient de me donner la réponse :

    http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Format/GPX-js.html


    Les métadatas supportées sont : name, desc et author.

    Je clôture ma demande.

  5. #5
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Bonjour,

    peut-être qu'OpenLayers ne gère pas la balise <link> du format GPX, mais l'API Géoportail est sensée la gérer. Utilisez-vous la classe Geoportal.Format.GPX.v1_1 comme parser (au lieu de OpenLayers.Format.GPX) ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 205
    Points
    205
    Par défaut
    Bonjour,

    J'ai le même problème que Kiza44.

    J'ai des fichiers GPX de POI avec des url pour accéder à la page descriptif du POI.

    Auriez vous le code pour utiliser le parser Geoportal.Format.GPX.v1_1 au lieu de celui d'OpenLayers.

    J'ai rien trouvé dans la doc de Géoportail ni sur internet.

    Merci

  7. #7
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Bonjour,

    quelle méthode utilisez-vous pour charger la couche GPX ?

    * Si vous utilisez celle de l'exemple :

    http://api.ign.fr/tech-docs-js/examp...alMap_gpx.html

    celle-ci assure l'utilisation du parser Geoportail.Format.GPX.

    * Si vous chargez la couche à l'aide du contrôle Geoportal.Control.AddVectorLayer, il faut initialiser ce dernier à l'aide de l'option 'supportedClasses' qui est un tableau contenant le nom des classes correspondant aux types de données vecteur supportées. Il faut alors y mettre 'Geoportal.Format.GPX' parmi elles.


    Vous pouvez valider la gestion de la balise link en chargeant votre GPX à l'aide de la page exemple :

    http://api.ign.fr/tech-docs-js/examp...ortalLike.html

    en utilisant le bouton 'ajouter une couche vecteur'.



    Si la balise link n'est pas gérée par cet exemple, je suis preneur d'un retour et d'un fichier GPX exemple.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 205
    Points
    205
    Par défaut
    Bonjour,

    Merci de votre aide.

    Sur geoportalLike.html, j'ai le même affichage qu'en local du pop up (Il y a juste les champs <name> et <desc> qui sont affichés.

    Le champ
    <link href="http://www.tourisme-yonne.com/randonnee/write_gpx/redirection_gpx.php?id=HOTBOU0890000440"><text>En savoir +</text></link>

    n'est pas reconnu.

    Concernant le code, j'ai repris le code du zip téléchargeable sur le site de l'API (geoportail_api_quickstart) et j'ai rajouté le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    viewer.getMap().addLayer(
    	'GPX',
    	'Hotel',
    	'../../gpx/hot.gpx',
    	{visibility:false,
    	}
    	);
    à la fin de la fonction initMap de quickstart.js (en dessous du code appelant le fichier GPX route de l'asset.

    Je peux vous envoyer en MP le fichier GPX et la page quickstart.js

  9. #9
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Citation Envoyé par youri89 Voir le message
    Je peux vous envoyer en MP le fichier GPX et la page quickstart.js
    Oui, je veux bien, merci.

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 205
    Points
    205
    Par défaut
    Je vous ai envoyé un MP.

    Merci

  11. #11
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    OK, je vois le problème :

    le parser GPX parse bien les balises <link> car on retrouve les infos dans le DOM de la page (cf. screenshot firebug : feature.png) : champ onlineResource.href et onlineResource.text.

    Le problème vient de l'affichage dans la popup qui n'exploite pas ces éléments (cf :

    http://codes.ign.fr/geoportail/apijs...up/Anchored.js

    dans la fonction Geoportal.Popup.Anchored._creat4GPX()

    autour de la ligne 414 où on créé la popup.

    Du coup, en attendant une évolution de ce code dans des versions futures de l'API, on peut surcharger la fonction en question par une autre qui va exploiter les informations voulues.

    Je vous invite donc à rajouter dans votre code la fonction suivante (en gras le code rajouté) :

    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
    
    ...
    
    /**
     * Method: _creat4GPX
     * Create function for GPX based features.
     *      the calling context is the feature.
     *
     * Returns:
     * {<Geoportal.Popup.Anchored>} - the popup.
     */
    Geoportal.Popup.Anchored._creat4GPX= function() {
        var opts= OpenLayers.Util.extend({},this.layer.formatOptions);
        OpenLayers.Util.applyDefaults(
            opts,{
                size:this.layer.map.getSize(),
                closeBox:true,
                onPopupClose:Geoportal.Popup.onPopupClose,
                backgroundColor:'#ffffff',
                opacity:0.75
            });
        var popupClass= this.layer.formatOptions && this.layer.formatOptions.popupClass?
            this.layer.formatOptions.popupClass
        :   Geoportal.Popup.Anchored;
        var tempText= (this.attributes.desc? this.attributes.desc+"<br/>":"");
        tempText+= (this.attributes.cmt? this.attributes.cmt+"<br/>":"");
        if (this.attributes.onlineResource) {
          tempText+= "<a href=\""+this.attributes.onlineResource.href+"\">"  
                       + (this.attributes.onlineResource.text? this.attributes.onlineResource.text : 
                             this.attributes.onlineResource.href) + "</a><br/>";
        }
        tempText+= (this.attributes.ele? this.attributes.ele:"");
        tempText= Geoportal.Util.cleanContent(tempText);
        var popup= new popupClass(
            "chicken",
            this.geometry.getBounds().getCenterLonLat(),
            //taille devra s'adapter au contenu
            this.layer.map.getSize(),
             "<div class='gpPopupHead gpGPX'>" +
                (this.attributes.name? this.attributes.name:"") +
             "</div>" +
             "<div class='gpPopupBody gpGPX'>" +
                tempText +
             "</div>",
            null,
            opts.closeBox,
            opts.backgroundColor,
            opts.opacity,
            opts.onPopupClose,
            this
        );
        popup= Geoportal.Popup.completePopup(popup,this.layer.formatOptions);
        this.popup= popup;
        return this.popup;
    };
    
    ...
    et ça marche
    Images attachées Images attachées  

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 205
    Points
    205
    Par défaut
    Merci,

    Ca marche effectivement

  13. #13
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    ?

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 205
    Points
    205
    Par défaut
    Pour moi, c'est résolu

    Merci

    Mais j'ai pas le bouton résolu sur la discussion

  15. #15
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    C'est kiza44 qui a la possibilité de cliquer sur Résolu!!!!

Discussions similaires

  1. [VB.NET] ecrire dans un fichier des balise HTML et autres
    Par mael94420 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/03/2007, 13h34
  2. balise link css/html
    Par sadkill dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 25/01/2007, 11h11
  3. [Telechargement de Fichier] Recherche balise adéquate
    Par Kylen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/09/2005, 15h21
  4. Réponses: 2
    Dernier message: 18/07/2005, 11h58

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