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 cachée = carte non activée ?


Sujet :

IGN API Géoportail

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut Carte cachée = carte non activée ?
    Bonjour à tous

    J'assiste Ô combien impuissant à un phénomène étrange ...
    J'ai pour simplifier 2 gros Div accessibles par des onglets, un qui contient une liste, l'autre qui contient la carte. L'idée est de passer d'une ligne de la liste à un élément de la carte.

    Donc pour ne pas avoir à recharger la carte à chaque fois que je reviens sur la liste, je charge le tout en une page avec la carte dans un div en display:none;

    Jusque là tout va bien, sauf que lorsque je clique sur mon onglet "Carte" changeant le display:none en display:block, le fond de carte n'est pas affiché

    Et si je me déplace dans l'interface ou si je zoome, elle revient et se construit morceaux par morceaux comme à son accoutumée ...


    Du coup, ma question est la suivante : il y a-t-il un évènement quelconque qui empêcherait d'afficher les fonds de cartes si la carte n'est pas cachée ?
    Et si jamais, comment peut-on la rafraichir (au clic sur l'onglet par exemple).

    Tous les exemples du genre que j'ai pu voir commençaient avec une carte chargée, puis la masquaient pour afficher un autre contenu. Mais dans l'autre sens, est-ce possible ?

    Je vous remercie par avance du fond du coeur, car là, je n'en puis plus

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 45
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Il faudrait une URL de test ou au moins un morceau de code pour essayer de comprendre ce qui se passe.
    Merci,

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Malheureusement non, je n'ai pas le droit de montrer ce site en développement (c'est dans le cadre de mon travail).

    Par contre, je viens de remarquer quelque chose d'étrange. Quand je clique sur mon onglet "démasquant" la carte (le fond de carte étant toujours blanc) et que j'ouvre Firebug, le fond de carte (la couche ORTHOIMAGERY.ORTHOPHOTOS:WMSC) apparaît

    Et si dans l'autre sens je clique sur l'onglet avec Firebug d'ouvert et qu'ensuite je l'enlève, le fond apparaît également ...

    Bizarre ...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    J'ai testé le code d'un autre sujet de ce forum qui surcharge isMapReady, ce qui me donne donc ceci :

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    function initGeoportalMap() {
            
            /**
             * APIMethod: isMapReady
             * Checks whether the map's div is rendered or not.
             *
             * Returns:
             * {Boolean} true if ready, false otherwise.
             */
            Geoportal.Viewer.Default.prototype.isMapReady= function() {
                console.log(horo()+"Geoportal.Viewer.Default.prototype.isMapReady");
                var b= arguments[0];
                var ready= (
                    this.mapTbl!=null &&
                    this.mapCell!=null &&
                    (this.infoCntrl? this.infoCell!=null : true) &&
                    (this.infoCntrl? this.mapInfoDiv!=null : true) &&
                    this.div!=null &&
                    !(this.mapCell.clientHeight==1) &&
                    (this.infoCntrl? this.mapCell.clientHeight>this.infoCell.clientHeight : true) &&
                    (this.infoCntrl? this.mapInfoDiv.offsetHeight==this.infoCell.offsetHeight : true) &&
                    this.div.offsetWidth==this.div.scrollWidth &&
                    this.div.offsetWidth==this.mapTbl.offsetWidth &&
                    this.div.offsetWidth==this.mapTbl.scrollWidth &&
                    this.div.offsetHeight==this.div.scrollHeight &&
                    this.div.offsetHeight==this.mapTbl.offsetHeight &&
                    this.div.offsetHeight==this.mapTbl.scrollHeight &&
                    this.mapDiv.clientWidth==parseInt(this.mapCell.style.width) &&
                    this.mapDiv.clientHeight==parseInt(this.mapCell.style.height)
                ) &&
                !(
                    this.timeout &&
                    ((b!=undefined && this.timeout[b]) ||
                     (b==undefined && (this.timeout[true] || this.timeout[false])))
                );
                return ready;
            };
    
            
            
            viewer= new Geoportal.Viewer.Default(
                "viewerDiv",
                OpenLayers.Util.extend({
                    mode:'normal',
                    territory:'FXX',
                    // substitution of current default geoportal theme :
                    loadTheme: function() {
                        Geoportal.Util.setTheme('black');
                        Geoportal.Util.loadCSS(Geoportal._getScriptLocation()+'theme/black/style.css','__GeoportalBlackCss__','');
                        if (OpenLayers.Util.alphaHack()) {
                            Geoportal.Util.loadCSS(OpenLayers._getScriptLocation()+'theme/black/ie6-style.css','__IE6GeoportalBlackCss__','');
                        }
                    }
                }, window.gGEOPORTALRIGHTSMANAGEMENT===undefined? {apiKey:['9197592261032520278']}:gGEOPORTALRIGHTSMANAGEMENT)
            );
            if (!viewer) {
                OpenLayers.Console.error(OpenLayers.i18n('new.instance.failed'));
                return;
            }
            
            /*
            // add print control:
            var nv= viewer.getMap().getControlsByClass('Geoportal.Control.NavToolbar')[0];
            nv.addControls([new Geoportal.Control.PrintMap()]);
    
            
            viewer.getMap().setCenter(viewer.viewerOptions.defaultCenter,viewer.viewerOptions.defaultZoom);
            */
            
            // Affichage d'un loader pendant le téléchargement
            //viewer.getMap().addControl(new OpenLayers.Control.LoadingPanel());       
            
            viewer.addGeoportalLayer('ORTHOIMAGERY.ORTHOPHOTOS:WMSC',{visibility:true,opacity:0.7,name:"Photographies aériennes"});
            			
            // affichage onglet "couches"
            viewer.openLayersPanel(true);
            viewer.setLayersPanelVisibility(true);
            
            // onglet "outils"       
            viewer.openToolsPanel(true);
            viewer.setToolsPanelVisibility(true);
            
            pointsLayer_2 = new OpenLayers.Layer.Vector("Point de vue", {projection: "IGNF:RGF93G",displayInLayerSwitcher: true});
            viewer.getMap().addLayer(pointsLayer_2);pointsLayer_2.setVisibility(false);linesLayer_1 = new OpenLayers.Layer.Vector("Randonnées", {projection: "IGNF:RGF93G",displayInLayerSwitcher: true});
            viewer.getMap().addLayer(linesLayer_1);linesLayer_1.setVisibility(false);pointsLayer_startEnd = new OpenLayers.Layer.Vector("Départ / Arrivée", {projection: "IGNF:RGF93G",displayInLayerSwitcher: true});
            viewer.getMap().addLayer(pointsLayer_startEnd);pointsLayer_startEnd.setVisibility(false);aLayers.push(pointsLayer_2);aLayers.push(linesLayer_1);aLayers.push(pointsLayer_startEnd);var selectElements = new OpenLayers.Control.SelectFeature([pointsLayer_2,linesLayer_1,pointsLayer_startEnd],
                        {onSelect: onElementsSelect, onUnselect: onElementsUnselect, hover: false});
          viewer.getMap().addControl(selectElements);
          selectElements.activate();
        
          }
    Mon Firebug préféré me sort alors mon console.log en boucle (voici juste une partie) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    52:50 Geoportal.Viewer.Default.prototype.isMapReady
    52:51 Geoportal.Viewer.Default.prototype.isMapReady
    52:51 Geoportal.Viewer.Default.prototype.isMapReady
    52:51 Geoportal.Viewer.Default.prototype.isMapReady
    52:52 Geoportal.Viewer.Default.prototype.isMapReady
    Ce qui je pense n'est pas normal
    Qu'est ce qui pourrait faire que cette carte fait un appel à cette fonction de manière continu ?

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 128
    Points : 1 764
    Points
    1 764
    Par défaut
    Il est relativement facile de créer un site grâce à Free (encore merci à eux) cf http://www.free.fr/assistance/252-fr...erso-free.html et cela permet ensuite de rendre disponible une page d'essais.

    Au niveau du code, il manque toute la partie html et en particulier la div utilisée pour l'affichage de la carte.
    Que dit Firebug ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Le souci est que le site est généré via un CMS (Typo3) et qu'il est donc impossible à installer sur un serveur gratuit du type Free

    Voici tout de même le code HTML généré de ma page :
    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
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html
         PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Accueil</title>
    <meta name="generator" content="TYPO3 4.4 CMS" />
    <link rel="stylesheet" type="text/css" href="typo3temp/stylesheet_670d0f71b2.css?1303296387" media="all" />
    <link rel="stylesheet" type="text/css" href="fileadmin/templates/css/styles.css?1304499844" media="all" />
    <link rel="stylesheet" type="text/css" href="fileadmin/templates/css/print.css?1303222665" media="print" />
    
    <script src="fileadmin/templates/js/scripts.js?1304498291" type="text/javascript"></script>
    <script src="typo3temp/javascript_0328b17ecd.js?1303295207" type="text/javascript"></script>
    <script type="text/javascript" src="http://api.ign.fr/geoportail/api?v=1.2-e&amp;key=9197592261032520278&amp;includeEngine=true&amp;">
    <body>
        <div id="page">
        	<div id="onglets_page">
                <div class="onglet affiche" id="onglet_liste"><a href="#" onclick="displaySheet('liste');return(false);">Liste</a></div>
                <div class="onglet cache" id="onglet_carte"><a href="#" onclick="displaySheet('carte');return(false);">Carte</a></div>
            </div>
            <div id="sep_onglets"></div>
            <div id="page_contenu">
                <div id="liste" class="affiche">
                    <div id="page_liste" class="display_block">
                
                        <div class="filtres_liste">
                            <!-- Filtres -->
                        </div>
                        <div id="contenu_page_liste">
                            <!-- Listes -->
                        </div>
                		
                    </div>
                </div>
                <div id="carte" class="cache">
                    <div class="filtres_carte">
                        <!-- Filtres -->
                    </div>
                    <div id="viewerDiv"></div>
                    <div id="linkMoreDivDefault"></div>
                </div>
            </div>
        </div>
    
    </body>
    </html>
    Le div contenant la carte est "viewerDiv", lui-même étant dans le div "carte", en display:none au chargement de la page. J'ai enlevé les filtres pour rendre la structure plus lisible. C'est relativement simple, avec deux onglets qui affichent ou masquent deux div.

    Sinon, Firebug ne génère aucune erreur. Juste (comme indiqué dans le post précédent) les console.log en boucle depuis que j'ai inséré la surcharge d'IsMapReady

    Merci en tout cas pour votre aide

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Après discussions, je peux vous filer le lien de la plateforme de dev sur laquelle je bosse et sur laquelle j'ai ce souci :

    http://t3-cg71.cimeos-preprod.com/

    J'ai essayé de revenir à la version 1.0 de l'API sans succès. Merci d'avance pour vos réponses

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 128
    Points : 1 764
    Points
    1 764
    Par défaut
    Sur mon FF 3.6.17, l'affichage est correct sauf lors du premier choix (la carte présente le monde) :un centrage et zoom initial peut permettre de résoudre.

    Sinon, l'écran n'est occupé qu'à 50% en largeur ce qui n'est pas très esthétique.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Merci pour le test

    Mais justement, c'était ca le souci
    Lors du premier affichage (clic sur l'onglet), le fond de carte était vide.
    Lors du premier affichage (clic sur le lien "voir sur la carte" d'une ligne de la liste), comme le fond de carte se charge mal, il se positionne mal et affiche donc toute la carte en décalé comme vous avez pu le voir (même si j'ai centré et zommé sur la carte).

    J'ai tout de même trouvé à l'instant une astuce. Au lieu de display:none, j'ai mis un visibility:hidden et dans ce cas, comme il réserve la place de la carte (contrairement au display:none), l'affichage de la carte fonctionne (mais bon, cest quand même bizarre comme fonctionnement).

    Ensuite, j'ai quand même un souci, si vous le testez sous IE (7, 8 ou 9), il n'affiche absolument pas la carte (son interface non plus ).
    Et ca je ne vois toujours pas pourquoi ...
    Idem pour le bouton d'impression, il ne récupère pas la carte en cours

    PS : pour le fait que l'écran n'est occupé qu'à 50%, c'est parce qu'à terme, la carte sera placée dans une iframe sur un autre site

  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
    Citation Envoyé par kiouz Voir le message
    J'ai tout de même trouvé à l'instant une astuce. Au lieu de display:none, j'ai mis un visibility:hidden et dans ce cas, comme il réserve la place de la carte (contrairement au display:none), l'affichage de la carte fonctionne (mais bon, cest quand même bizarre comme fonctionnement).
    Non, rien d'étonnant ce sont les spécifications HTML. Voir un exemple API.
    Sinon, quant la taille de la carte est calculée (dans isMapReady()), le fait qu'elle soit à 'display:none' la met à 0...

    Citation Envoyé par kiouz Voir le message
    Ensuite, j'ai quand même un souci, si vous le testez sous IE (7, 8 ou 9), il n'affiche absolument pas la carte (son interface non plus ).
    Et ca je ne vois toujours pas pourquoi ...
    Même sous FF, la carte n'est jamais prête ... (isMapReady() retourne toujours false)

    La surcharge de cette méthode ne convient pas à la version 1.2 dont le code original est :

    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
        /**
         * APIMethod: isMapReady
         * Checks whether the map's div is rendered or not.
         *
         * Returns:
         * {Boolean} true if ready, false otherwise.
         */
        isMapReady: function() {
            var b= arguments[0];
            var ready= (
                this.div!=null &&
                !(this.mapDiv.clientHeight<=1) &&
                this.div.offsetWidth==this.mapDiv.offsetWidth &&
                this.div.offsetHeight==this.mapDiv.offsetHeight &&
                this.mapDiv.clientWidth==parseInt(this.mapDiv.style.width) &&
                this.mapDiv.clientHeight==parseInt(this.mapDiv.style.height)
            ) &&
            !(
                this.timeout &&
                ((b!=undefined && this.timeout[b]) ||
                 (b==undefined && (this.timeout[true] || this.timeout[false])))
            );
            return ready;
        },
    dans ta surcharge
    this.mapTbl
    est toujours null (car plus utilisé) ...

    Il faudrait donc :

    * soit désactiver la surchage (la commenter);
    * soit repartir du code ci-dessus sachant que je ne vois pas ce que fait la surcharge ...

    Citation Envoyé par kiouz Voir le message
    Idem pour le bouton d'impression, il ne récupère pas la carte en cours
    Le bouton d'impression reste expérimental ...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Merci pour ta réponse complète

    J'ai essayé avec la bonne version de isMapReady et cette fois, il dit que ma carte est bien chargée

    Par contre, je n'arrive pas à détecter le problème de l'affichage sous IE car certaines fois il charge la carte et pas d'autres

    Une idée ?

  12. #12
    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 kiouz Voir le message
    Par contre, je n'arrive pas à détecter le problème de l'affichage sous IE car certaines fois il charge la carte et pas d'autres
    J'ai une erreur au chargement de la page sous IE8 :

    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; GTB6; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Horodateur : Sun, 8 May 2011 13:26:49 UTC
    
    
    Message : Cet objet ne gère pas cette propriété ou cette méthode
    Ligne : 204
    Caractère : 2
    Code : 0
    URI : http://t3-cg71.cimeos-preprod.com/fileadmin/templates/js/scripts.js?1304601880
    Donc, cliquer sur l'icône "Voir la carte" ne mène alors à rien

    En cliquant sur l'onglet "Cartes des balades" : la carte est bien présente ...

    Sous IE7, pas d'erreur au chargement de la page, mais dès que l'on clique sur l'icône "Voir la carte", on se prend une erreur (sur la ligne en rouge) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function init_descriptions_fonctions(){
    //     console.log('init');
        scrollPhotos('affichage_carto_desc_content_');


    et si je clique sur l'onglet "Cartes des ballades" : pas de cartes (j'ai pas l'impression que l'initGeoportalMap() ou équivalent soit appelée ...)

    Je pense qu'il faudrait tester la carte seule, puis la page de sélection seule, puis les deux pour faire la part des choses

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Concernant l'erreur JS, le site est en co-développement, t'as du tomber quand il fallait pas

    Sinon, je me suis basé sur un des exemples de l'IGN qui, lui, fonctionne sous IE : geoportalMap_basic_black.html
    J'ai fait du pas à pas sous IE pour voir la différence avec chez moi.

    La différence vient de cette partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if (__Geoportal$timer!=null) {
                window.clearTimeout(__Geoportal$timer);
                __Geoportal$timer= null;
            }
            if (typeof(OpenLayers)=='undefined'              ||
                typeof(Geoportal)=='undefined'               ||
                typeof(Geoportal.Viewer)=='undefined'        ||
                typeof(Geoportal.Viewer.Default)=='undefined') {
                __Geoportal$timer= window.setTimeout('initGeoportalMap();', 300);
                return;
            }
    Dans ma version, la variable __Geoportal$timer est null, contrairement à la version de l'exemple IGN ou même dans ma version sous Firefox.
    Ensuite, quand il passe dans les typeof, tout est undefined. Il passe alors dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    __Geoportal$timer= window.setTimeout('initGeoportalMap();', 300);
    mais ne fait absolument rien (c'est sensé appeler à nouveau initGeoportalMap() si elle n'est pas chargée non ?).

    Résultat : il ne charge pas la carte car il ne passe même pas dans initGeoportalMap() ...

    Dans la version de l'IGN, en cas de valeur null, il a l'air de passer dans un autre script (script_block). Pourquoi pas moi ?

    Une idée ?

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    J'ai essayé également de charger l'API sur mon serveur et de mettre includeEngine=false mais non seulement il met des plombes à charger tous les scripts mais ca génère des erreurs ... donc mauvaise piste.

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Finalement, en chargeant l'API sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://depot.ign.fr/geoportail/api/js/1.2/lib/geoportal/lib/Geoportal.js
    et en mettant includeEngine=false, ca a l'air de fonctionner.

    Par contre, c'est beaucoup plus long qu'avant car il crée tous les appels vers les scripts

    Du coup, toujours en false, j'ai tenté d'appeler via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://api.ign.fr/geoportail/api/js/1.2/Geoportal.js
    et là magie, tout fonctionne bien et "rapidement"

    Mais bon, je voudrais bien savoir pourquoi sous IE, on est obligé de passer par ce type d'astuce

  16. #16
    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 kiouz Voir le message
    Par contre, c'est beaucoup plus long qu'avant car il crée tous les appels vers les scripts
    Normal, il charge les centaines de fichiers Javascript de l'API ... C'est le mode développeur qui permet du debug pas à pas

    Citation Envoyé par kiouz Voir le message
    Mais bon, je voudrais bien savoir pourquoi sous IE, on est obligé de passer par ce type d'astuce
    Sûrement lié à l'évènement de chargement sous IE
    Je recommande de toute façon de faire ainsi car à terme ce sera la seule façon de faire

    De plus en production, je conseille d'avoir une copie intégrale de l'API (JS compressé et css, images, etc...) sur le même serveur que l'application :

    1/ cela gèle le site en production indépendamment des correctifs/évolutions de l'API;
    2/ cela évite d'utiliser un proxy pour les KML and co.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    Je recommande de toute façon de faire ainsi car à terme ce sera la seule façon de faire
    Merci pour l'info, je vais prendre l'habitude de faire comme ca

    Citation Envoyé par dgrichard Voir le message
    De plus en production, je conseille d'avoir une copie intégrale de l'API (JS compressé et css, images, etc...) sur le même serveur que l'application
    Je comprends bien l'utilité mais j'ai tenté de le faire en téléchargeant l'API sur le site de l'IGN et ca m'a généré une foultitude d'erreur
    Il faut seulement appeler Geoportal.js du dossier Geoportail-API-1.2-src\geoportal-1.2\src\main\javascript\geoportal\lib et copier tout le répertoire lib sur le serveur ?

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Points : 1 446
    Points
    1 446
    Par défaut
    Citation Envoyé par kiouz Voir le message

    Je comprends bien l'utilité mais j'ai tenté de le faire en téléchargeant l'API sur le site de l'IGN et ca m'a généré une foultitude d'erreur
    Il faut seulement appeler Geoportal.js du dossier Geoportail-API-1.2-src\geoportal-1.2\src\main\javascript\geoportal\lib et copier tout le répertoire lib sur le serveur ?
    Justement il y a quelques jours, j'avais posté un message à ce propos, comment tout rapatrier sur un serveur etc.
    Tu as la solution ici : http://www.developpez.net/forums/d10...ilation-maven/

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Ok merci Sylvain, je tenterai de refaire la manip, j'ai du faire une boulette

  20. #20
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 25
    Points : 16
    Points
    16
    Par défaut Une solution simple
    J'ai été moi même confronté à ce type de problème :

    Je charge d'abord les 2 div en mode display:block. Puis à la fin du chargement de la carte, display:none pour la carte avec un temps de retard si nécessaire( setTimeout).

Discussions similaires

  1. carte ethernet - non activable
    Par Invité dans le forum RedHat / CentOS / Fedora
    Réponses: 3
    Dernier message: 09/06/2009, 01h33
  2. Réponses: 12
    Dernier message: 14/06/2006, 17h21
  3. Réponses: 8
    Dernier message: 28/10/2005, 12h34
  4. Carte eth0 realtek non trouvée
    Par farid305 dans le forum Matériel
    Réponses: 14
    Dernier message: 02/05/2005, 11h54
  5. Carte réseau - eth0 non reconnu
    Par gloogloo dans le forum Matériel
    Réponses: 2
    Dernier message: 03/04/2005, 12h21

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