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 :

adaptation de geoportalMap_selectMultiLayers.html


Sujet :

IGN API Géoportail

  1. #1
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut adaptation de geoportalMap_selectMultiLayers.html
    En essayant d'adapter l'exemple ign geoportalMap_selectMultiLayers.html , je me heurte toujours (car déjà évoqué dans ce forum) à un problème sous IE8 (en mode normal, sans affichage de compatibilité, sinon comme déjà vu les labels ne s'affichent pas et mon problème se maintient).

    Le problème visible à http://vivlig.free.fr/indexV7.htm :
    Les polygons et les labels se maintiennent lors du déplacement de la souris...

    Le code est quasi repompé "tel que" depuis geoportalMap_selectMultiLayers.html avec l'ajout très simple d'une seconde couche et quelques babioles secondaires (maintenues pour vous faciliter la visite), sans aucune fioriture susceptible de nuire au reste...
    Quelques pistes de débogages seraient les bienvenues...

  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
    1. La page geoportalMap_selectMultiLayers.html fonctionne-t-elle correctement pour toi ?
    2. Quelles sont les différences dites minimes ?

  3. #3
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    La page geoportalMap_selectMultiLayers.html fonctionne-t-elle correctement pour toi ?
    Oui (à ceci près qu'elle n'est pas chargeable sous IE8 depuis votre site.... Erreur 404 après un vague aperçu comme déjà évoqué) en non "mode d'affichage de compatibilité"
    Quelles sont les différences dites minimes ?
    Voici le code employé dans la page http://vivlig.free.fr/indexV7.htm
    Tu reconnaitras les quelques rajouts perso (en vert) apportés (sans influence car je les ai supprimé dans différents tests avant de poser ma question)
    Peut-être un problème de style qui m'échappe ?

    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    function initGeoportalMap() {
        
        geoportalLoadviewer("GeoportalviewerDiv", "normal");
          //  if (viewer.getMap().allowedGeoportalLayers) {
            viewer.addGeoportalLayer('GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC', {opacity:1.0});
          
            var nvC= null;
        nvC= viewer.getMap().getControlsByClass('OpenLayers.Control.Navigation');
    if (nvC.length>0) {
        nvC= nvC[0];
        nvC.deactivate();
        nvC.zoomWheelEnabled= false;
        nvC.activate();
    }
    
    /* prereglage de la carte */
            viewer.openLayersPanel(true);
            viewer.setLayersPanelVisibility(true);
            viewer.setToolsPanelVisibility(false);
            viewer.setInformationPanelVisibility(false);
            
     // voir http://openlayers.org/dev/examples/highlight-feature.html
     //Ajout d'une couche KML : au survol => highlight le nom de la commune (NOM)
            var s100Style= new OpenLayers.StyleMap({
                "default": new OpenLayers.Style({
                   // fillColor:'#00ff00',
                    fillOpacity:0
                }),
                "temporary": new OpenLayers.Style({
                    fillColor:'#00ff00',
                    fillOpacity:0.3,
                    label: "${getINDIC}",
                    labelAlign: "center",
                    labelBackgroundColor:'yellow',
                    labelBorderColor:'black',
                    labelBorderSize:'1px',
                    labelPadding: '5px',//'0 10px 10px 0',
                    fontColor: "blue",
                    fontWeight: "bold",
                    fontSize: "12px",
                    fontFamily: "Arial"
                },{
                    context:{
                            getINDIC: function(f) {
                            return f.attributes['NOM'].value + "\u000A" + f.attributes['NOMBRE'].value +" cartes postales";
                                  }
                        
                    }
                }),
                "select": new OpenLayers.Style({
                    fillColor:'#ff0000',
                    fillOpacity:0.5
                })
            });
    
    function OuvrCP(f) {
        if (f) {
        var nom=f.attributes['NOM'].value;
        var codeInsee=f.attributes['CODEINSEE'].value;
        var nbCarte=f.attributes['NOMBRE'].value;
        var hrefe="../aviewer/"+codeInsee+"/index.html";
        var entete=nom + " : " +nbCarte +" cartes postales à consulter";
        hs.htmlExpand(null, { src: hrefe, headingText: entete, objectType: 'iframe', height: 530, width: 800 } );
        this.unselect(f);
      };
    }
    
    var s100= viewer.getMap().addLayer("KML","communes","./kml/commune.kml",
               {    projection:OpenLayers.Projection.CRS84,//always set projection when setting maxExtent
                    // don't give maxExtent, let the API compute it ...
                    minZoomLevel: 7,
                    maxZoomLevel:10,
                    panMapIfOutOfView:false,
                    preFeatureInsert: Geoportal.Popup.setPointerCursorForFeature,
                        styleMap:s100Style,
                        visibility: true
                        
                    },
                {
                             formatOptions:{
                        extractStyles:false // désactivation des styles
                    },
                    preventDefaultBehavior:true // pas de contrôleur Select
                });
    
        //au survol => highlight sur le style "temporary" :
            var hoverCtrlOpts= OpenLayers.Util.extend( viewer.getMap().getPopupDefaults('KML'), {
                    hover:true,
                    highlightOnly: true,
                    renderIntent: "temporary"
                });
          //  var hoverCtrl= new OpenLayers.Control.SelectFeature([regs, deps], hoverCtrlOpts);
       var hoverCtrl= new OpenLayers.Control.SelectFeature([s100], hoverCtrlOpts);
            viewer.getMap().addControl(hoverCtrl);
            viewer.getMap().events.on({
                "changelayer":Geoportal.Map.onVisibilityChange,
                scope:hoverCtrl});
    
            //au clic => zoom sur l'emprise de l'objet
           var clickCtrlOpts= OpenLayers.Util.extend( viewer.getMap().getPopupDefaults('KML'), {
                onSelect: OuvrCP
                });
            var clickCtrl= new OpenLayers.Control.SelectFeature([s100], clickCtrlOpts);
            viewer.getMap().addControl(clickCtrl);
            viewer.getMap().events.on({
                "changelayer":Geoportal.Map.onVisibilityChange,
                scope:clickCtrl});
    
    
        viewer.getMap().addLayer("KML","Haut-Lignon","./kml/0743.kml", {visibility: true,
                opacity:1,
                minZoomLevel:7,
                maxZoomLevel:12
            },
            {    hover:false,
                onSelect: function(f) {}}// ne rien faire
                );            
    
            viewer.getMap().setCenterAtLonLat(4.3231201,45.0657615, 10);
    }

  4. #4
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Le paramètre qui coince sous IE8 està remplacer par exemple par

  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 et la doc?
    Sur la documentation en ligne, tu as ta réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    labelAlign{String} Label alignment.  This specifies the insertion point relative to the text.  It is a string composed of two characters.  The first character is for the horizontal alignment, the second for the vertical alignment.  Valid values for horizontal alignment: “l”=left, “c”=center, “r”=right.  Valid values for vertical alignment: “t”=top, “m”=middle, “b”=bottom.  Example values: “lt”, “cm”, “rb”.  The canvas renderer does not support vertical alignment, it will always use “b”.

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

Discussions similaires

  1. Adapter xls en html
    Par schtroll dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 08/12/2012, 16h11
  2. Probleme avec geoportalMap_selectMultiLayers.html
    Par cmail dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 03/03/2012, 00h21
  3. Adaptation de geoportalMap_kml.html en beta5
    Par cmail dans le forum IGN API Géoportail
    Réponses: 5
    Dernier message: 07/02/2010, 12h32
  4. Réponses: 2
    Dernier message: 22/12/2009, 22h21
  5. [HTML?][XHTML?][CSS?] Une image dont la taille s'adapte
    Par zelda dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/11/2005, 10h19

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