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 :

Utilisation de getElementGuessedDimensions


Sujet :

IGN API Géoportail

  1. #1
    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 Utilisation de getElementGuessedDimensions
    J'essaye d'utiliser Geoportal.Util.getElementGuessedDimensions dans la fonction updateSize de OpenLayers.Popup pour améliorer la taille des popups.
    Malheureusement la réponse est "NaN"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
           var d= document.createElement('div');
            d.innerHTML= preparedHTML;        
            var guessedSize= Geoportal.Util.getElementGuessedDimensions(d);
            console.log("updateSize GuessedDimensions w:%d h:%d",guessedSize.w,guessedSize.h);

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    J'ai fait quelques tests et j'ai vu au moins deux problèmes dans Geoportal.Util.getElementGuessedDimensions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Dans Geoportal/utils.js, lignes 322 et 323 il faut remplacer 
     if (!w) { width= realSize.w; }
     if (!h) { height= realSize.h; }
    // par 
     if (!w) { w= realSize.w; }
     if (!h) { h= realSize.h; }
    ce qui permet d'éviter le NaN, NaN que tu trouves.

    Second problème, dans les tests que j'ai fait je mettais simplement 'd.innerHTML= "<span>test</span>";' avant d'appeler la methode getElementGuesseDimensions qui me renvoyait (0,0) avec le fix précédent. Il n'y avait aucun nom de classe sur d et getElementGuesseDimensions appelle OpenLayers.Util.getRenderedDimensions avec en premier argument "<div style='display:block!important;'></div>" qui sera forcément de dimension nulle.

    Le patch pourrait être le suivant, en prenant en compte le changement précédent (à priori ça marche dans mes tests mais c'était très rapide) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Dans Geoportal/utils.js, lignes 319 à 325 il faut remplacer 
    if (!w || !h) {
                var preparedHTML = (cn.length === 0) ? e.innerHTML : "<div "+cn+" style='"+st+"'></div>";
                var realSize= OpenLayers.Util.getRenderedDimensions(preparedHTML,null,{});
                if (!w) { w= realSize.w; }
                if (!h) { h= realSize.h; }
                realSize= null; // je ne suis pas sûr de l'utilité de cette instruction par contre, mais elle ne fait pas de mal
    
            }
    En attendant une correction, essaye en appelant directement OpenLayers.Util.getRenderedDimensions (preparedHTML,null,{}).

  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 Résultats de quelques tentatives
    J'ai fait plusieurs essais dont ceux proposés, mais rien n'y fait!
    J'ai ma page http://atlasnw.free.fr/ao35/extensio...Json/json.html qui a un affichage correct et la page mediawiki http://atlasnw.free.fr/ao35/index.ph...ns/MgaJson/csv avec son problème de taille.

    J'ai essayé de forcer lors du calcul "getRenderedDimensions" différents paramètres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        // create temp container div with restricted size
        var container = document.createElement("div");
        container.style.overflow= "";
        container.style.position = "absolute";
        container.style.left = "-9999px";
        container.style.fontSize = "100%";
        container.style.fontWeight = "normal";
    mais le résultat est le même, le style du body mediawiki triomphe!

  4. #4
    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'avais fait des corrections dans Geoportal.Util.getElementGuessedDimensions() récemment - je vais vérifier les lignes en question - Merci

  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 Pour les courageux!
    Citation Envoyé par dgrichard Voir le message
    J'avais fait des corrections dans Geoportal.Util.getElementGuessedDimensions() récemment - je vais vérifier les lignes en question - Merci
    J'ai reporté la modification sur le preparedHTML, le reste avait été corrigé !

    Pour les courageux, j'ai attaché les trois versions de l'API avec toutes les modifications demandées depuis 2 mois ...

    Pour effectuer vos tests :


    1. ajouter includeEngine=false&amp; à l'URL qui insère l'API;
    2. insérer le code chargeant l'API choisie (ne pas oublier de la ungzippée au préalable --sauf, si vous paramètrez votre serveur Web ...);

    De mes tests : seul le chargement multi-contrats sous IE8 ne fonctionne pas.
    Attention : il peut y avoir quelques scories car sur la plate-forme de développement, il n'y a plus de defer='true', alors que sur la plate-forme de production ils sont toujours actifs ...
    Fichiers attachés Fichiers attachés

  6. #6
    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
    Je viens de faire un essai avec la version GeoportalExtended.js
    La fonction initGeoportalMap() n'est pas activée dans mon test.
    J'ai juste modifié un de mes exemples:
    http://atlasnw.free.fr/web/geoportai...19/carres.html
    Je dois avoir oublié quelque chose d'évident... mais je ne trouve pas!

  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
    Oops, j'ai oublié d'ajouter :

    3. insérer onload="initGeoportalMap();" dans la balise body

    En fait, il faut suivre cet exemple de développement ...

  8. #8
    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 Efficace pour les popups!
    J'ai effectué la mise à jour de la page et effectivement les popups sont différents: les nouveaux sont justes à la taille du texte comme souhaités.
    Je n'ai pas encore testé sous MediaWiki.

  9. #9
    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 mga_geo Voir le message
    J'ai effectué la mise à jour de la page et effectivement les popups sont différents: les nouveaux sont justes à la taille du texte comme souhaités.
    Je n'ai pas encore testé sous MediaWiki.
    Première bonne nouvelle !
    Tiens-moi au courant, si d'autres fonctionnalités réussissent/échouent.

  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 Toujours des problèmes avec les pourcentages ?
    Une première page OK: http://atlasnw.free.fr/web/geoportail/exemples/cc.html
    et en nouvelle version: http://atlasnw.free.fr/web/geoportail/ex090719/cc.html

    Le bas de la page n'est pas terrible du tout, hauteur à 98%

  11. #11
    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 CSS
    Citation Envoyé par mga_geo Voir le message
    Le bas de la page n'est pas terrible du tout, hauteur à 98%
    Les CSS n'ont pas été chargées ... Normal, il s'attend à les avoir au même niveau que le js dans ./theme/...

    On avait pas déjà échangé dessus dans un autre thread ?!

  12. #12
    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 Pas de changement après ajout du theme
    J'ai mis en place le répertoire theme (tu as bonne mémoire: j'ai "purgé" cette partie espérant ne plus faire de test avec l'API en local).
    J'ai regardé rapidement sur quelques exemples: pas de changement ...
    les popups sont de nouveau trop grand

  13. #13
    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 mga_geo Voir le message
    J'ai mis en place le répertoire theme (tu as bonne mémoire: j'ai "purgé" cette partie espérant ne plus faire de test avec l'API en local).
    J'ai regardé rapidement sur quelques exemples: pas de changement ...
    les popups sont de nouveau trop grand

    As-tu bien cette arborescence :

    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
    + GeoportalExtended.js
    |
    +- img (répertoire OpenLayers des images)
    |
    +- theme
        |
        +- default (répertoire OpenLayers des css)
        |   |
        |   +- *.css
        |   +- img
        +- geoportal (répertoire Geoprotail des css)
            |
            +- *.css, *.htc
            +- img
    As-tu bien "vidé" le cache ?

  14. #14
    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
    Ma structure en local est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ ls -lR Geoportal | grep -e ":$"
    Geoportal:
    Geoportal/img:
    Geoportal/theme:
    Geoportal/theme/default:
    Geoportal/theme/default/img:
    Geoportal/theme/geoportal:
    Geoportal/theme/geoportal/img
    et mon serveur apache voit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    127.0.0.1 - - [21/Jul/2009:14:07:24 +0200] "GET /js/Geoportal/GeoportalExtended.js HTTP/1.1" 200 1013881
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/default/style.css HTTP/1.1" 200 6798
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/img/logo_gp.gif HTTP/1.1" 200 1824
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/style.css HTTP/1.1" 200 26686
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/img/ico_win_plus.gif HTTP/1.1" 200 70
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/img/ico_win_moins.gif HTTP/1.1" 200 68
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/img/zoom_curseur.gif HTTP/1.1" 200 140
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/img/bg_zoomVertical.gif HTTP/1.1" 200 910
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/img/cursor.gif HTTP/1.1" 200 272
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /js/Geoportal/theme/geoportal/img/bg_handle.gif HTTP/1.1" 200 346
    127.0.0.1 - - [21/Jul/2009:14:07:25 +0200] "GET /gml/ao35/L93-35.kml HTTP/1.1" 200 60288
    ce qui me semble correct (pas de 404).

    Sous FF3, j'utilise Clear Cache Button qui est assez efficace.

  15. #15
    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
    Tu es sûr que cela ne fonctionne pas ? ... car pour moi la page est nickel (par rapport à hier).

    Seules les popups sont effectivement trop grandes (je suppose que le font size=+1 participe à cela ..., il y a aussi un padding de 5 sur olPopupContent)

  16. #16
    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 C'est effectivement bon aussi pour moi
    Les caches et autres proxys sont redoutables en développement!

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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