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 :

Probleme pour cacher les calques kml


Sujet :

IGN API Géoportail

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut Probleme pour cacher les calques kml
    Bonjour,

    Ma carte, sur laquelle apparait aussi un calque crée à partir d'un fichier kml, est contenue dans un div. Un bouton à l'extérieur envoie une fonction javascript censée cacher cette div. Pour la carte, cela fonctionne correctement mais le calque du fichier kml reste apparent.

    Je joins un résumé de mon code:
    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
    ...
    <script type="text/javascript">
    <!--
    function initGeoportalMap() {
       ...
       CARTE.getMap().addLayer(
         "KML",
         "Stations RSSP",
         "RSSP.kml",
         {visibility : true}
       );
       ...
    }
    
    function action() {
       document.getElementById("cartes").style.visibility = "hidden";
    }
    -->
    </script>
    </head>
    <body>
    ...
    <div onclick="action();"><img scr="toto.gif"></div>
    ...
    <div id="cartes">
       <div id="GeoportalVisuDi" style="width: 880px; height: 600px;">
    </div>
    ...

  2. #2
    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
    As-tu simplement essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var kml= CARTE.getMap().addLayer(...);
    ...
    function action() {
        kml.displayInLayerSwitcher= false;//masquage dans le menu "couches"
        kml.setVisibility(false);//masquage des données à l'écran
    }

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    Ça marche nickel,
    Merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    Ça marche, mais seulement avec firefox.
    Avec Internet Explorer (IE8), il m'affiche comme erreur:
    "kmlRSSP a la valeur null ou n'est pas un objet".

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <script type="text/javascript" src="http://api.ign.fr/geoportail/api?v=1.0beta4-e&amp;key=5794406918119790426&amp;instance=CARTE"></script>
    <script type="text/javascript">
    <!--
    
    var etat = new Array(20);
    function select_trace(_sta) {
       sta = _sta;
       if (etat[sta] != 'select') {
          document.getElementById(sta + '_H').style.display = 'block';
          etat[sta] = 'select';
       } else {
          document.getElementById(sta + '_H').style.display = 'none';
          etat[sta] = 'unselect';
       }
    }
    
    var kmlRSSP;
    var kmlIGN;
    
    function initGeoportalMap() {
       var lat =43.21 
       var lon =-0.34 
       geoportalLoadCARTE("GeoportalVisuDi", "normal");
       if (CARTE) {
         CARTE.addGeoportalLayers();
         CARTE.openLayersPanel(false);
         CARTE.setInformationPanelVisibility(false);
    
         CARTE.getMap().setCenterAtLonLat(lon, lat, "9");
         kmlRSSP = CARTE.getMap().addLayer(
            "KML",
            "Stations RSSP",
            "../KML/RSSP.kml",
            {visibility : true}
         );
         kmlIGN = CARTE.getMap().addLayer(
            "KML",
            "Stations IGN",
            "../KML/IGN.kml",
            {visibility : true}
         );
    
         var markers = new OpenLayers.Layer.Markers("S&eacute;isme");
         CARTE.getMap().addLayer(markers);
         var size = new OpenLayers.Size(30,30);
         var offset = new OpenLayers.Pixel(-(size.w/2), -(size.h/2));//centered
         var icon = new OpenLayers.Icon('../images/viseur.gif',size);
         var ll = new OpenLayers.LonLat(lon, lat);
         ll.transform(OpenLayers.Projection.CRS84, CARTE.getMap().getProjection());
         markers.addMarker(new OpenLayers.Marker(ll,icon));
       }
    }
    
    function action(_bouton) {
       var boutonIn = _bouton;
       if (boutonIn == "boutonCarte") {
          document.getElementById("traces").style.visibility = "hidden";
          document.getElementById("cartes").style.visibility = "visible";
          kmlRSSP.setVisibility(true);
          kmlIGN.setVisibility(true);
          document.getElementById("boutonCarte").style.borderStyle = "inset";
          document.getElementById("boutonTraces").style.borderStyle = "outset";
       } else {
          document.getElementById("cartes").style.visibility = "hidden";
          kmlRSSP.setVisibility(false);
          kmlIGN.setVisibility(false);
          document.getElementById("traces").style.visibility = "visible";
          document.getElementById("boutonCarte").style.borderStyle = "outset";
          document.getElementById("boutonTraces").style.borderStyle = "inset";
       }
    }
    
    -->
    </script>

  5. #5
    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
    Citation Envoyé par seben Voir le message
    Ça marche, mais seulement avec firefox.
    Avec Internet Explorer (IE8), il m'affiche comme erreur:
    "kmlRSSP a la valeur null ou n'est pas un objet".
    Et en exécutant pas à pas sous IE8 (F12) à partir de la ligne qui instancie kmlRSSP ?

    L'avantage avec IE8 (par rapport aux précédentes versions du butineur), c'est le débogueur, autant en profiter

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    Voici la réponse dans l'outil de développement d'internet explorer:
    . Argument non valide GeoportailExtended.js Ligne 4202 Caractere 1


    PS: Je joins aussi le fichier KML qui pourrait être, je pense, la cause du problème.
    PPS: Pour les tests, toutes le commandes et fonction incluant le deuxième fichier klm (IGN.klm) on été mise en commentaire.

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>
            <name>RSSP.kml</name>
            <open>1</open>
            <StyleMap id="msn_leg_RSSP">
                    <Pair>
                            <key>normal</key>
                            <styleUrl>#sn_leg_RSSP</styleUrl>
                    </Pair>
                    <Pair>
                            <key>highlight</key>
                            <styleUrl>#sh_leg_RSSP</styleUrl>
                    </Pair>
            </StyleMap>
            <Style id="sh_leg_RSSP">
                    <IconStyle>
                            <scale>0.354545</scale>
                            <Icon>
                                    <href>../images/leg_RSSP.gif</href>
                            </Icon>
                    </IconStyle>
            </Style>
            <Style id="sn_leg_RSSP">
                    <IconStyle>
                            <scale>0.3</scale>
                            <Icon>
                                    <href>../images/leg_RSSP.gif</href>
                            </Icon>
                    </IconStyle>
            </Style>
            <Placemark>
                    <name>ATE</name>
                    <styleUrl>#msn_leg_RSSP</styleUrl>
                    <Point>
                             <coordinates>-0.7003,43.0858,0</coordinates>
                    </Point>
            </Placemark>
            <Placemark>
                    <name>CARF</name>
                    <styleUrl>#msn_leg_RSSP</styleUrl>
                    <Point>
                             <coordinates>2.1055,42.7160,0</coordinates>
                    </Point>
            </Placemark>
            <Placemark>
                    <name>FDAF</name>
                    <styleUrl>#msn_leg_RSSP</styleUrl>
                    <Point>
                             <coordinates>-0.5672,42.8189,0</coordinates>
                    </Point>
            </Placemark>
    </Document>
    </kml>

  7. #7
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    Du nouveau: sur mon PC, sous internet explorer (IE8), la page d'exemple du site api.ign.fr "geoportalMap_kml.html" me pose aussi des soucis et m'affiche la carte sans les points des fichiers kml.

  8. #8
    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
    Pourrais-tu me fournir les legend_RSSP.gif que je fasse le test grandeur nature ?

    Le chemin d'accès spécifié dans le kml indique qu'ils sont au dessus du répertoire contenant le kml dans un répertoire images - est-ce bien le cas ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    Voici l'image utilisée dans mon fichier kml:


    En effet, dans le répertoire principal (index.php et style.css), j'ai crée un sous-répertoire KML et un sous-répertoire images.
    La page visualisée est contenue, elle, dans un autre sous-répertoire.

  10. #10
    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
    Pour moi, cà marche (voir pj) ...

    Si tu es en 1.0bêta4, essaie d'ajouter ceci en tout début de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <!-- IE8 compatibility mode -->
     <!--[if IE 8]>
     <meta http-equiv="X-UA-Compatible" content="IE=7"/>
     <![endif]-->
    Images attachées Images attachées  

  11. #11
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    Idem...
    Si cela peut vous aider voici le lien vers la page me posant des problèmes:
    http://w3.dtp.obs-mip.fr/RSSP/WEB_2....09.09.15-03.49

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 126
    Points : 1 764
    Points
    1 764
    Par défaut utf-8
    cela n'a peut-être rien à voir mais la page est déclarée en iso-8859-1 et elle contient des caractères utf-8 ( le ° après longitude, ...)

    Sinon j'ai aussi une erreur sur IE8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Détails de l’erreur de la page Web
    
    Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Horodateur : Thu, 15 Oct 2009 15:32:56 UTC
    
    Message*: Erreur non spécifiée.
    Ligne*: 4206
    Caractère*: 24
    Code*: 0
    URI*: http://api.ign.fr/geoportail/api/js/1.0beta4/GeoportalExtended.js
    Bon ça ne console pas mais le message sur le site www.geoportail.fr n'est guère mieux!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Détails de l’erreur de la page Web
    
    Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Horodateur : Thu, 15 Oct 2009 15:41:00 UTC
    
    
    Message*: ')' attendu
    Ligne*: 908
    Caractère*: 37
    Code*: 0
    URI*: http://www.geoportail.fr/

  13. #13
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Je ne sais pas si ton problème est de cette nature car cela ressemble fortement à un effet de bord (si cela marche sous FF) dû à un paramétrage manquant (car tes KMl sont corrects), mais voici une question / réponse trouvée sur la FAQ google :

    Question :
    Why won't my KML files download correctly from my web server?

    Réponse :
    Web servers have to be told what kinds of files they are providing. Some browsers, such as Firefox, will make guesses on the file type. Others, such as Internet Explorer, rely on the web server's MIME Type settings.

    For an Apache server, you would include these two lines in httpd.conf:

    AddType application/vnd.google-earth.kml+xml .kml
    AddType application/vnd.google-earth.kmz .kmz

    For Microsoft's Internet Information Server, you would follow these directions:

    IIS Version 6.0:
    http://support.microsoft.com/kb/326965

    IIS 4.0 and 5.0:
    http://www.microsoft.com/technet/pro...y/mimeiis.mspx

    If you manage your own web server, you must change your own configuration. Otherwise, contact your web site hosting service and ask them to make these changes.

  14. #14
    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
    Citation Envoyé par seben Voir le message
    Idem...
    Si cela peut vous aider voici le lien vers la page me posant des problèmes:
    http://w3.dtp.obs-mip.fr/RSSP/WEB_2....09.09.15-03.49
    L'erreur se produit dans OpenLayers.Renderer.VML

    J'obtiens le message suivant :

    « Votre butineur ne supporte pas le rendu vectoriel. Actuellement, les rendus supportés sont :
    SVG
    VML
    Canvas »

    Si je passe en Mode de compatibilité, alors tout roule
    En regardant ta page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
     <!-- IE8 compatibility mode -->
    <!--[if IE 8]>
    <meta http-equiv="X-UA-Compatible" content="IE=7"/>
    <![endif]-->
     <html>
    <head>
    <title>Le Reseau de Surveillance Sismique des Pyr&eacute;n&eacute;es</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    ...
    alors qu'il faudrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Le Reseau de Surveillance Sismique des Pyr&eacute;n&eacute;es</title>
     <!-- IE8 compatibility mode -->
    <!--[if IE 8]>
    <meta http-equiv="X-UA-Compatible" content="IE=7"/>
    <![endif]-->
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    ...
    Ceci pourrait expliquer que l'astuce ne fonctionne pas

Discussions similaires

  1. problem pour gérer les Id et évènements
    Par Alec6 dans le forum JSF
    Réponses: 1
    Dernier message: 10/11/2006, 15h19
  2. Réponses: 1
    Dernier message: 09/08/2006, 17h10
  3. Shell - Problème pour gérer les majuscules et minuscules
    Par claralavraie dans le forum Linux
    Réponses: 6
    Dernier message: 11/01/2006, 17h17
  4. Réponses: 3
    Dernier message: 03/11/2005, 18h30
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

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