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 :

Problème d'affichage de la pop up lorsque plusieurs GPX sont chargés


Sujet :

IGN API Géoportail

  1. #1
    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 Problème d'affichage de la pop up lorsque plusieurs GPX sont chargés
    Bonjour,

    Avec la méthode viewer.getMap().addLayer, je monte plusieurs fichiers GPX avec visibility:false par défaut.
    Lorsque je clique sur un point de la première couche visible, la pop up s'affiche.
    Si je clique sur un point d'une couche visible qui a une autre couche visible au dessus, le point n'est pas "actif" et je peux pas faire apparaitre la pop up (un peu comme si on avait une DIV qui était au dessus).

    Je sais pas si c'est très clair.
    Voici l'exemple :

    http://www.tourisme-yonne.com/randon...quickstart.php

    Dans les couches, on coche "Gîtes ruraux e..." (3ème en partant de la fin après Cartes IGN).
    Si la couche "Randonnées des..." (1ère couche) est visible, le point rose n'est pas clicable.

    Merci de votre aide

  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,

    Actuelement au lancement de votre exemple, l'api tente de récupérer vos fichier gpx, ceci engendre un parse error de notre cotés (du fait surement que l'accès à ces fichiers est bloqué).

    Vous serez t'il donc possible de nous fournir vos fichier gpx ?

    Afin que l'on puisse mieux comprendre votre problème.

    D'avance merci.

  3. #3
    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,

    Le parse error, vous l'avez lors que vous cliquez sur le lien ou lorsque vous avez copié le code et lancer la page depuis un autre serveur que www.tourisme-yonne.com (ce qui est possible avec la configuration du serveur)

  4. #4
    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,

    je confirme les propos de Nicolas : le parse error provient du contenu du gpx lui même. Par exemple pour le fichier ant.gpx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <link href="http://www.tourisme-yonne.com/randonnee/write_gpx/redirection_gpx.php?id=DEGBOU0890001100"><text>En savoir +</text></link><desc>89100 SENS<\br></desc></wpt>
    -------------------------------------------------------------------------------------------------------------------------------------------------------^
    où on voit que la balise <\br> n'est pas correcte. Il faudrait plutôt mettre <br/> pour que la syntaxe XML soit valide et comprise par le parser.

    Le fichier gpx des randonnées semble être valide, ce qui explique qu'il s'affiche bien. Pour les autres, il faut les rendre valides et voir si le problème persiste.

  5. #5
    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

    J'ai corrigé le générateur de fichier GPX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <wpt lat="47.56637" lon="3.34308">
    <name>BERRY Jocelyne à SOUGERES-EN-PUISAYE</name>
    <link href="http://www.tourisme-yonne.com/randonnee/write_gpx/redirection_gpx.php?id=HLOBOU0890000011"><text>En savoir +</text></link><desc>89520 SOUGERES-EN-PUISAYE<br/>Meublé de tourisme de 2 chambre(s), d'une capacité de  4 personnes et d'une surface totale de 60 m² <br />Classé : 2 épis</desc></wpt>
    Par contre le problème est toujours là.

    En outre le <br/> n'est pas pris en compte dans le pop up

    Cf capture écran en PJ
    Images attachées Images attachées  

  6. #6
    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
    Il s'agit d'une fonctionnalité bien connue (que nous allons faire remonter dans la future FAQ de l'API Géoportail) :

    le principe est celui appliqué dans l'exemple : http://api.ign.fr/tech-docs-js/examp...ltiLayers.html

    qui est appliqué sur des couches KML, mais c'est la même chose pour le GPX ou toute autre couche vecteur.

    A savoir, qu'il faut définir un contrôle "SelectFeature" (OpenLayers.Control.SelectFeature" que l'on va associer à toutes les couches gpx définies. Ensuite, on rajoute le contrôle à la carte.

    Dans l'exemple cité, cela tourne autour de ces lignes :

    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
    ...
        var hoverCtrlOpts= OpenLayers.Util.extend( viewer.getMap().getPopupDefaults('KML'), {
            hover:true,
            highlightOnly: true,
            //name of the style to be applied
            //Nom du style à appliquer
            renderIntent: "temporary",
            autoActivate: true,
            handlersOptions:{
                feature:{
                    stopDown:false//allow pan map when drag in feature
                }
            }
        });
        // regs et deps sont deux couches crées par viewer.getMap().addLayer
        var hoverCtrl= new OpenLayers.Control.SelectFeature([regs, deps], hoverCtrlOpts);
        viewer.getMap().addControl(hoverCtrl);
    
    ...
    A adapter, bien sûr

  7. #7
    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 (avec un mélange de PHP pour récupérer les données dans Mysql et de JS : le débuggage )

    Reste le souci du <br/> n'est pas pris en compte dans le pop up.

    Je trouve rien dans la FAQ de Géoportail à ce sujet

  8. #8
    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
    [quote=youri89;7464067]Merci

    Ca marche (avec un mélange de PHP pour récupérer les données dans Mysql et de JS : le débuggage )[QUOTE]



    Reste le souci du <br/> n'est pas pris en compte dans le pop up.
    En fait, le parser GPX doit sans doute supprimer toutes les balises qu'il ne comprend pas et ne garde que le texte inclus.

    Pour qu'elle soit conservée, il faut "échapper" les caractères qui font d'elle une balise : "<" et ">". Du coup, écrire : "&lt;br/&gt;".

    Je trouve rien dans la FAQ de Géoportail à ce sujet
    Ben, il n'y a pas vraiment de FAQ pour le moment . Ce qui va bientôt changer. Celle du Géoportail concerne seulement le site geoportail.gouv.fr mais nullement l'API Géoportail.

  9. #9
    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 vais marquer comme Résolu cette discussion et en ouvrir une autre sur les balises html dans le pop up

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] GridView : Problème d'affichage d'indicateur de tri lorsque changement de page
    Par sylvebarbe78 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 22/02/2013, 13h34
  2. Réponses: 0
    Dernier message: 20/04/2010, 13h09
  3. Réponses: 6
    Dernier message: 07/08/2008, 19h29
  4. Réponses: 6
    Dernier message: 12/10/2007, 20h15
  5. Réponses: 3
    Dernier message: 22/08/2007, 17h53

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