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 :

Problème de coordonnées lors du Scroll avec les flèches du clavier


Sujet :

IGN API Géoportail

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 72
    Points : 46
    Points
    46
    Par défaut Problème de coordonnées lors du Scroll avec les flèches du clavier
    Bonjour,

    J'ai un problème tout bête, après avoir tracé plusieurs point sur un layer, lorsque je scrolle la carte avec les flèches du pavé numérique, les points du layer se ré-affichent en coordonnées absolues par rapport à la fenêtre principale.

    Par exemple si je tape sur la flèche du bas, je m'attend a ce que les "points remontent", ce qui n'est pas le cas, il reste au même endroit et donc pas aux bonnes coordonnées.

    Par contre si je zoome ou dezoome, l'affichage les points se mettent aux coordonnées attendues.

    Qu'ai je oublié de faire pour que mes points restent au bon endroit lors d'un scroll? Dois je prendre un offset en considération?

    Voici le code simplissime de mon initGeoportalMap :
    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
    function initGeoportalMap(){
     
       OpenLayers.Renderer.VML.prototype.initialize= function(containerID) {
            if (!this.supported()) {
                return;
            }
            if (!document.namespaces.olv) {
                document.namespaces.add("olv", this.xmlns);
                var style = document.createStyleSheet();
                var shapes = ['shape','rect', 'oval', 'fill', 'stroke', 'imagedata', 'group','textbox'];
                for (var i = 0, len = shapes.length; i < len; i++) {
                    style.addRule('olv\\:' + shapes[i], "behavior: url(#default#VML); " +
                                                        "position: absolute; display: inline-block;");
                }
            }
    
            OpenLayers.Renderer.Elements.prototype.initialize.apply(this,
                                                                    arguments);
            this.offset = {x: 0, y: 0};
        };
        
         //charge et met en place le cadre Geoportail par défaut
         geoportalLoadVISU("GeoportalVisuDiv", "normal");
         
          if (VISU) {
            VISU.addGeoportalLayers();
          }
          
         //creation d'un layer graphique
         layerPoints=new OpenLayers.Layer.Vector("Points");
      
           
         map = VISU.map;
         
         //ajout du layer a la carte
         map.addLayer(layerPoints);
         
         var traceControl = new OpenLayers.Control.DrawFeature(layerPoints,                                
                                    OpenLayers.Handler.Point);
                                    
        map.addControl(traceControl);
    	
    	traceControl.activate();
    	
    	
     }
    Je vous remercie et bon dimanche.

  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
    Citation Envoyé par nicknolt Voir le message
    Qu'ai je oublié de faire pour que mes points restent au bon endroit lors d'un scroll? Dois je prendre un offset en considération?
    Quaut je regarde ton code, tu surcharges l'initialize du renderer VML et il est rigoureusement identique celui d'OpenLayers 2.8 !

    Pourquoi as-tu donc fais cette surchage ? (écrit autrement, ne serais-tu pas en 1.0bêta4 avec OpenLayers 2.7) ?
    Si c'est le cas, je ne suis pas sûr que la seule surcharge suffise (d'autres partie du code Renderer ont été changé ...).
    Quelle version d'IE utilises-tu alors ?
    En 1.0bêta4, certains comportements sont "indéfinis" si tu n'as pas mis pour IE8 :

    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]-->
    en début de ta page web (éventuellement après <title>, mais avant toute autre balise <meta>).

    En 1.0bêta5 (future 1.0), plus besoin de la compatibilité !

    Sinon, quand tu "pan" la carte à la souris (au lieu du clavier), le phénomène est-il identifique ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Pourquoi as-tu donc fais cette surchage ? (écrit autrement, ne serais-tu pas en 1.0bêta4 avec OpenLayers 2.7) ?
    Exactement, j'aurais du préciser la version!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <!-- IE8 compatibility mode : -->
        <!--[if IE 8]>
        <meta http-equiv="X-UA-Compatible" content="IE=7"/>
        <![endif]-->
    Diagnostique et réponse parfaite, avec ces lignes la je n'ai plus de problèmes de scroll et de pan (le problème était identique effectivement avec le pan).

    La morale de l'histoire si j'ai bien compris c'est d'utiliser la beta5!

    Merci beaucoup pour ta réponse

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/02/2020, 19h57
  2. Controler un slider avec les flèches du claviers
    Par copinou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/10/2014, 17h16
  3. Comment changer de focus avec les flèches du clavier ?
    Par pepito62 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/04/2013, 09h37
  4. basculer entre les champs de texte avec les flèches du clavier
    Par limy9 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 24/01/2011, 15h49
  5. Réponses: 2
    Dernier message: 05/10/2010, 14h59

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