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 :

setSize et parties blanches


Sujet :

IGN API Géoportail

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut setSize et parties blanches
    J'ouvre un nouveau sujet juste sur ce point.
    J'ai fait 2 exemples simplistes:
    - http://atlasnw.free.fr/geoportail/exemples/redim.html
    - http://atlasnw.free.fr/geoportail/exemples/redim2.html
    le deuxième exemple n'utilise pas la même méthode de construction du viewer.
    Je l'ai fait car mes premiers essais avec la version simplifiée ne présentait pas le défaut!

    Il faut cliquer sur le bouton 1000x800 pour redimensionner le viewer et voir une équerre blanche apparaitre.

  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
    Bonjour,

    Il n'y a pas que les rectangles blancs, en fait, la carte n'est pas ré-affichée après le redimensionnement : la ville de Rennes reste en haut à gauche alors qu'elle devrait être au centre de la carte. Cela se voit si on essaye de déplacer la carte.
    Pour éviter cela, je fait un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    viewer.getMap().setCenter(viewer.getMap().getCenter())
    Mais ce n'est pas suffisant car il faut que le rendu de la carte soit complet. Il faut donc le déclencher après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    viewer.setSize(1000,800);
    window.setTimeout("viewer.getMap().setCenter(viewer.getMap().getCenter())",500);
    Je n'ai rien trouvé de mieux...
    Chez moi, ça marche, mais si quelqu'un a une meilleur idée, je suis preneur...

    @+

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut Cela marche
    ... c'est un peu sale mais le principal est atteint!

  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
    Est-ce que le bug apparaît sur cette page quant on redimensionne la carte
    (je n'ai pas le bug de mon côté sur cette page)

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut
    La page citée se redimensionne bien!
    Il faut faire quoi pour obtenir ce résultat ?

  6. #6
    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
    La page citée se redimensionne bien!
    Il faut faire quoi pour obtenir ce résultat ?
    Rien, d'autres qu'un setSize() ...
    Je me demande alors si le problème ne vient pas que le setSize() est appelé trop tôt

    Est-ce que quelque chose comme :

    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
    var timer= null;
    var sizeMe= function(w,h) {
       if (timer!=null) {
          window.clearTimemou(timer);
          timer= null;
       }
       if (viewer.isMapReady()) {
          viewer.setSize(w,h);
          return;
       }
       timer= window.setTimeout(
          OpenLayers.Function.bind(sizeMe,this,w,h),
          300
       );
    };

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut
    Dans les exemples "redim", la carte est déjà chargée lors du clic sur le bouton.
    J'ai tout de même essayé le patch et j'ai les bandes blanches, on ne passe pas dans le "set" du timer.

  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
    Citation Envoyé par mga_geo Voir le message
    Dans les exemples "redim", la carte est déjà chargée lors du clic sur le bouton.
    J'ai tout de même essayé le patch et j'ai les bandes blanches, on ne passe pas dans le "set" du timer.
    Donc, le viewer est ready
    Il faut que je fasse un test avec l'API décompactée ...

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

Discussions similaires

  1. Page blanche à cause d'une partie de code
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 27/01/2010, 17h02
  2. [TSplitter] 3 parties...
    Par agh dans le forum Delphi
    Réponses: 3
    Dernier message: 07/09/2006, 14h11
  3. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 15h38
  4. Réponses: 3
    Dernier message: 09/02/2003, 02h09
  5. [CR] Avoir seulement une page blanche qd la base est vide???
    Par littleChick dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 13/08/2002, 19h26

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