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

APIs Google Discussion :

hideDocument Geoxml3 [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2011
    Messages : 55
    Points : 51
    Points
    51
    Par défaut hideDocument Geoxml3
    Bonjour à tous, c'est encore moi !
    (mon projet touche à sa fin, enfin ).

    Je viens vous faire part d'un petit problème.
    Pour afficher des kml, j'utilisais la méthode de google map v3 (google.maps.KmlLayer et setMap pour les afficher). Cependant comme je dois mettre à jour régulièrement mes kml, j'ai choisis de les parser moi même avec Geoxml3 (je n'ai donc plus les 10/12h d'attente entre chaque mise à jour de kml).

    Tout marche bien, j'arrive bien à afficher mon kml et à les enlever:
    pour le définir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    kml9 = new geoXML3.parser({map: map, suppressInfoWindows: true});
    pour l'afficher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    kml9.parse('dep/dep09.kml');
    pour l'enlever:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    kml9.hideDocument();
    Pour un seul kml, c'est simple, grâce à mon checkbox, il l'affiche puis le cache en fonction du check. Mon problème est que, j'ai 10 checkbox qui font la même action avec d'autre kml, du coup, à chaque fois que je clique sur un checkbox il décoche les autres checkbox et cache les autre kml.
    La fonction hideDocument() fonctionne seulement si la couche a été parsée (ce qui est normal), sinon cela fait planter la fonction.
    Est-ce qu'il existe une fonction dans geoxml3 pour tester la présence du parsage ou non ?

    Sinon j'ai pensé à parser la totalité de mes couches dès les début, de faire un hideDocument global, puis de les afficher avec showDocument() quand je le souhaite. Mais je ne sais pas si c'est la bonne solution.



    Merci d'avance

    Antoine

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Bonjour,
    j'ai 10 checkbox qui font la même action avec d'autre kml, du coup, à chaque fois que je clique sur un checkbox il décoche les autres checkbox
    c'est que tu dois le demander quelque part dans ton code.

    La fonction hideDocument() fonctionne seulement si la couche a été parsée (ce qui est normal), sinon cela fait planter la fonction.
    Est-ce qu'il existe une fonction dans geoxml3 pour tester la présence du parsage ou non ?
    Tu peux tirer avantage de la l'option afterParse pour faire de la gestion de tes KML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    kmlParser = new geoXML3.parser({
        'map': oMap,
        'afterParse': function( data){
            console.log(data[0]['url']);    // contient l'url parsée
          }
    });

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

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