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 :

Carte avec couche GPX + POI


Sujet :

IGN API Géoportail

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut Carte avec couche GPX + POI
    Bonjour,

    Mes objectifs sont d'avoir sur la même carte des GPX et des POI réactif au clic.

    Après avoir résolu le problème de clic sur les GPX (dans un autre sujet du forum, merci à mga_geo ), j'ai ajouté une fonction d'ajout de POI.


    Si j'active cette fonction "addmarker();" à la ligne 154, le clic sur les GPX ne marche plus.

    j'ai l'impression d'être encore confronté aux problèmes récurrents de couches et d'accès aux couches.

    Mon souhait est d'avoir les GPX + POI sur la même couche et que les objets soit cliquables.

    Est il possible alors de créer une couche qui contiendrait les GPX et les POI?


    Lien de test


    Merci à vous.

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur Cartographe
    Inscrit en
    Juin 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Cartographe
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 84
    Points : 161
    Points
    161
    Par défaut multiselect
    Bonjour,

    La réponse est la même que dans le post précédent : il faut définir dans le selectControl tous les calques qui seront cliquable.

    selectControl = new OpenLayers.Control.SelectFeature
    ( [gpx0, gpx1, gpx2, calque_poi, etc ],
    { onSelect: clickme }
    );
    @+

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut
    Le passage en version 1.2 de l'api serait aussi une bonne idée!

    Je maintiens sinon que les fichiers gpx sont trop lourds.
    Il est possible dans un fichier gpx de mettre plusieurs traces et des waypoints (équivalent des POI).

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Viglino Voir le message
    Bonjour,

    La réponse est la même que dans le post précédent : il faut définir dans le selectControl tous les calques qui seront cliquable.



    @+

    Sur le papier j'ai compris le concept, mais en réalité ca marche pas.

    Voiçi l'algo :

    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
    function addGPX(){
        mes objets gpx0, gpx1,gpx2 sont créés.
        appel de -> addMarker(gpx0, gpx1,gpx2)
    }
    
    function addMarker(gpx0, gpx1,gpx2){
       ma couche poi est créé
        appel de -> attache_click(gpx0, gpx1,gpx2,couche_poi)
    }
    
    
    
    function attache_click(gpx0,gpx1,gpx2,couche_poi){
    
       var selectControl = new	OpenLayers.Control.SelectFeature([gpx0,gpx1,gpx2,couche_poi], {
    		onSelect: clickme
      });
    	
      viewer.getMap().addControl(selectControl);
      
      selectControl.activate();
      
    }

    Mais celà ne marche pas..

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par mga_geo Voir le message
    Le passage en version 1.2 de l'api serait aussi une bonne idée!

    Je maintiens sinon que les fichiers gpx sont trop lourds.
    Il est possible dans un fichier gpx de mettre plusieurs traces et des waypoints (équivalent des POI).
    Certes, mais ils seront optimisés plus tard et je souhaite avoir des POI qui ne sont pas inclus dans les GPX.

    Ma demande est simple :
    1 carte avec ajout dynamique de GPX et de POI avec l'évènement clic actif sur chaque objet.

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur Cartographe
    Inscrit en
    Juin 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Cartographe
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 84
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par Eho47 Voir le message
    Mais celà ne marche pas..
    Es-tu sûr que le contrôle SelectFeature marche sur un layer de marker ?
    De manière générale, les couches markers sont obsolètes et un layer vecteur avec un externalGraphic pour définir l'image devrait faire cela en mieux...

    Dans la pratique, ton contrôle n'est pas actif...
    Il doit se produire une erreur javascript à un moment donné ou les couches ne sont pas correctement formées lors de l'insertion.
    Comme le dit mga_geo, tes GPX sont trop lourds, c'est peut-être (surement) ce qui provoque l'erreur...

    @+

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    J'ai 3 erreurs Javascript de renderer null et 3 couches GPX qui ne s'affichent pas ...

    et comme l'a écrit Viglino : les contrôleurs ne s'appliquent qu'aux couches vectorielles (qui héritent d'OpenLayers.Layer.Vector), OpenLayers.Layer.Markers et les OpenLayers.Marker doivent être gérés "à l'ancienne" via les écouteurs d'évènements ...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Viglino Voir le message
    Es-tu sûr que le contrôle SelectFeature marche sur un layer de marker ?
    De manière générale, les couches markers sont obsolètes et un layer vecteur avec un externalGraphic pour définir l'image devrait faire cela en mieux...

    Dans la pratique, ton contrôle n'est pas actif...
    Il doit se produire une erreur javascript à un moment donné ou les couches ne sont pas correctement formées lors de l'insertion.
    Comme le dit mga_geo, tes GPX sont trop lourds, c'est peut-être (surement) ce qui provoque l'erreur...

    @+
    Euh...c'est toi qui l'a dit plus haut de faire comme çà ! Moi justement j'en sais rien sinon j'aurais pas posté !

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    J'ai 3 erreurs Javascript de renderer null et 3 couches GPX qui ne s'affichent pas ...

    et comme l'a écrit Viglino : les contrôleurs ne s'appliquent qu'aux couches vectorielles (qui héritent d'OpenLayers.Layer.Vector), OpenLayers.Layer.Markers et les OpenLayers.Marker doivent être gérés "à l'ancienne" via les écouteurs d'évènements ...
    Normal pour les erreurs, la solution que l'on m'a proposée les déclenches !

    Donc actuellement :
    - J'ai 3 gpx affichés sur lesquels je peux cliquer.

    et donc je souhaite à présent ajouter un POI sur lequel je puisse aussi cliquer.

    http://mazamet-montagne-noire.fr/ign/test.html

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut
    Et le poids des gpx est toujours trop important!

  11. #11
    Membre habitué
    Homme Profil pro
    Ingénieur Cartographe
    Inscrit en
    Juin 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Cartographe
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 84
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par Eho47 Voir le message
    Euh...c'est toi qui l'a dit plus haut de faire comme çà ! Moi justement j'en sais rien sinon j'aurais pas posté !
    Il faut bien faire comme cela mais pas avec un layer de type marker (obsolète) mais un layer de type vector (compatible avec tes layers GPX qui sont aussi de type vector)

    @+

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Viglino Voir le message
    Il faut bien faire comme cela mais pas avec un layer de type marker (obsolète) mais un layer de type vector (compatible avec tes layers GPX qui sont aussi de type vector)

    @+
    Dac ! je fais faire des test ! Merci

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par mga_geo Voir le message
    Et le poids des gpx est toujours trop important!
    Lol tu as un complexe avec les GPX !!

    Ils sont lourd, oui, mais c'est pas la priorité et ils n'ont rien à voir avec mon problème !
    En passant, a quoi sa sert d'afficher des tracé de chemins de randonnées sur des fonds IGN si c'est pour qu'il ne colle pas au 1/250000 ?

    Quand je vois certaines cartes avec des GPX tracés à la serpe je rigole !

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Viglino Voir le message
    Il faut bien faire comme cela mais pas avec un layer de type marker (obsolète) mais un layer de type vector (compatible avec tes layers GPX qui sont aussi de type vector)

    @+

    Merci Viglino, ça marche !

    Par contre j'ai pas le cursor de type 'pointer' au roll over du POI !


    a++

  15. #15
    Membre habitué
    Homme Profil pro
    Ingénieur Cartographe
    Inscrit en
    Juin 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Cartographe
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 84
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par Eho47 Voir le message
    Par contre j'ai pas le cursor de type 'pointer' au roll over du POI !
    Pour cela, il va falloir vous pencher sur la définition des style pour la couche vecteur (http://docs.openlayers.org/library/feature_styling.html). en particulier la propriété cursor:'pointer'

    @+

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 40
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Viglino Voir le message
    Pour cela, il va falloir vous pencher sur la définition des style pour la couche vecteur (http://docs.openlayers.org/library/feature_styling.html). en particulier la propriété cursor:'pointer'

    @+
    Nikel !Merci beaucoup !

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

Discussions similaires

  1. Une carte avec un POI
    Par Mathieu M. dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 24/05/2012, 11h55
  2. Plusieurs couches GPX avec API 1.3
    Par jerommm dans le forum IGN API Géoportail
    Réponses: 6
    Dernier message: 19/04/2012, 21h46
  3. [Google Maps] Afficher une carte avec POI de couleurs
    Par jioujiou dans le forum APIs Google
    Réponses: 1
    Dernier message: 28/02/2012, 18h45
  4. Problème avec la librairie POI
    Par clement42 dans le forum Documents
    Réponses: 3
    Dernier message: 18/11/2005, 19h11
  5. Combiner plusieurs textures avec couches alpha
    Par TibobiT dans le forum OpenGL
    Réponses: 2
    Dernier message: 01/05/2004, 15h20

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