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 :

Idée/suggestion évolution sur API


Sujet :

IGN API Géoportail

  1. #21
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut Peut-on mieux faire ?
    J'ai cherché un peu pour effectuer des changements sur le style des labels affichés, mais cela semble assez limité avec ce qui est offert par OpenLayers 2.8

    Néanmoins, j'ai vu qu'il y avait des demandes, voire des tickets de prévus autour de ces affichages (par contre, j'ai un peu de mal à comprendre comment ils fonctionnent...comment effectuer ces demandes...remonter un bug...)

    Ainsi, je ne sais pas si ce qui suit sera pris en compte (j'ai vu cette demande sur plusieurs endroits (forums...) et cela fait partie aussi de ma demande
    http://openlayers.org/pipermail/user...st/013105.html

    L'évolution semble effectivement triviale, en ajoutant deux propriétés définissant des offsets en X et Y (on se demande pourquoi elle n'a pas été faite d'emblée comme pour les graphiques)...L'inconvénient actuel est que le label peut être positionné selon différents alignements mais cela est fait de telle façon que si on a un graphique, le texte le chevauche, car il part ou termine pile au centre de ce graphique.

    J'ai bien essayé de ruser en mettant un "_" à la fin du label pour mieux le voir...mais là encore, il manque une couleur de fond pour le label...

    Là encore, j'ai essayé de ruser en utilisant ce qu'il y a de disponible dans la version 2.8, j'ai donc effectuer 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
    CoucheKMLDirecte = map.getMap().addLayer("KML", aNomCouche, aNomFichierKML, {            
                     buffer: 0,
                     visibility:true,
                     opacity:true, 
                     view:{
                         drop:true,
                         zoomToExtent:true
                     }, 
                     extractAttributes:true,
                     extractStyles: true,
                     
                     preFeatureInsert:function(f) {
                        if (f) 
                        {
                            // Voir pour : OpenLayers.Rule --> minScaleDenominator et maxScaleDenominator
                            // default Geoportal API : cursor pointer on hover ...
                            Geoportal.Popup.Anchored.setPointerCursorForFeature(f);
                            // Voir http://code.google.com/intl/fr/apis/kml/documentation/kmlreference.html#labelstyle
                            OpenLayers.Util.extend(f.style, {
                                        label: f.attributes.name+"_",
                                        labelAlign: "rb",
                                        fontColor: "black",
                                        fontWeight: "bold",
                                        fontSize: "12px",
                                        backgroundGraphic:"./images/BarreJaune.png",
                                        backgroundHeight : 16,
                                        backgroundWidth : 32,
                                        backgroundXOffset : -36,
                                        backgroundYOffset : -12,
                                        fontFamily: "Courier New, monospace"
                                    });
                        }},
    
                     attribution:"fourni par xxx",                 
                     minZoomLevel : MinZoomLevelCarto,
                     maxZoomLevel : MaxZoomLevelCarto,
                     originators:[
                         {
                             pictureUrl:'./images/logo_xxx.png',
                             url: 'http://www.xxx.net'
                         }
                                 ]
                                                             }
                             );
    Par contre, j'ai mis des tailles arbitraires pour les attributs :

    backgroundHeight : 16,
    backgroundWidth : 32,
    backgroundXOffset : -36,
    backgroundYOffset : -12,

    Ne serait-ce pas possible de les calculer en fonction du style et du texte du label ?
    A priori, j'ai lu qu'il faudrait changer le renderer pour effectuer des améliorations, mais je ne suis pas assez fort en Javascript/OL + les différents navigateurs pour effectuer cela...J'ai déjà du mal avec les acronymes VML, SVG et SLD...

    Un aperçu de mon résultat courant est en pièce jointe.

    Pour DGRichard : Rien n'est prévu (ou prévisible) au niveau Geoportail pour améliorer ces affichages aux options sommaires ?...La couleur de fond me parait indispensable pour afficher au dessus d'une orthophoto, non ?

    Toutes idées, améliorations ou suggestions sont les bienvenues

  2. #22
    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 Unusual Voir le message
    Pour DGRichard : Rien n'est prévu (ou prévisible) au niveau Geoportail pour améliorer ces affichages aux options sommaires ?...La couleur de fond me parait indispensable pour afficher au dessus d'une orthophoto, non ?
    Prévu : non, c'est carrément hors de notre compétence ... le ticket 1845 montre bien ce qui a été fait pour les différents renderer pour OpenLayers 2.8 (c'est du lourd) ! Tu verras aussi la TODO list ...

    Utile : oui

  3. #23
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Oui, j'ai vu la todo-list...mais je n'ai pas l'impression qu'il y ait vraiment quelque chose de planifié sur le sujet...hormis le ticket 2193 pour la 2.9...ainsi que le ticket 2202 qui me parait beaucoup plus gourmand (surtout côté client) et moins urgent...

    alors que ce besoin de label "bien visible" est plus qu'utile, tu en conviens...Aurais-tu des entrées/contacts/connaissances dans la communauté OL pour suggérer de telles évolutions ?

    Y en a-t-il en gardant ce qui est offert par cette OL 2.8 pour suggérer des fonctions au lieu des constantes que j'avais spécifiées (comme exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    backgroundHeight : 16,
    backgroundWidth : 32,
    backgroundXOffset : -36,
    backgroundYOffset : -12,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    backgroundHeight : this.canvas.GetxxxHeight(style.label),
    backgroundWidth : this.canvas.mozMeasureText(style.label),
    backgroundXOffset : -this.canvas.mozMeasureText(style.label),
    backgroundYOffset : -this.canvas.GetxxxHeight(style.label)+4,
    J'ai pris mozMeasureText comme exemple, mais je suppose que cela serait différent pour chaque navigateur (comme d'hab)...quant à la hauteur, on peut peut-être se débrouillé sans...c'est juste pour avoir une simili bulle d'aide ajustée en largeur et en hauteur pour afficher le label...

  4. #24
    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'ai fait un petit tour pour voir ... (sur le web) sur le "text shadowing".

    C'est un sujet qui traine en support des navigateurs depuis plusieurs années (Canvas, SVG en tout cas).

    Tout est prévu dans chacun, mais les implémentations doivent suivre ...

    De ma compréhension :

    • IE6+ devrait être possible;
    • Opera 10 ...
    • Firefox 3.1+ (Gecko 1.9.1+);
    • Konkeror possible.


    J'ai donc l'impression qu'il faille attendre ou bien payer pour l'avoir auprès de ceux qui savent !

Discussions similaires

  1. Recherche Idee/Suggestion sur Algo
    Par Danyel dans le forum VB.NET
    Réponses: 15
    Dernier message: 26/08/2008, 18h38
  2. Arretez avec vos idées & suggestions svp
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 29/07/2004, 13h40

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