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 :

insérer un style prédéfini sur les traits créés par l'utilisateur


Sujet :

IGN API Géoportail

  1. #1
    Membre du Club
    Homme Profil pro
    developpeur
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Points : 65
    Points
    65
    Par défaut insérer un style prédéfini sur les traits créés par l'utilisateur
    Bonjour,
    je bloque depuis quelques jours avec cette API alors je recherche quelqu'un pour éclairer ma lanterne.
    J'ai inséré une barre d'outils dans ma fenêtre afin d'inviter les utilisateurs à effectuer des tracés.Seulement, je trouve que le style défini par défaut (trait fin continu orange)pour le tracé d'une ligne est trop discret lorsqu'on travaille sur une carte totalement opaque.
    Dans la page de prise en main rapide on nous montre comment personnaliser les points, lignes,etc... dont on connais à l'avance les coordonnées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var joli_point = new OpenLayers.Feature.Vector(mon_point, null, mon_style_point);
    Je n'arrive pas à trouver où placer ce OpenLayers.Feature.Vector.style
    lorsque je créé ma barre d'outils pour que l'ensemble des tracés effectués à l'aide de celle ci suivent ce style prédéfini.
    Jusqu'à maintenant je créai ma barre d'outils ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var couche_dessin = new OpenLayers.Layer.Vector('Mes tracés');
    VISU.getMap().addLayer(couche_dessin);
    var outils = new OpenLayers.Control.EditingToolbar(couche_dessin)
    VISU.getMap().addControl(outils);
    Merci pour vos réponses

  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
    As-tu jeter un oeil au code de cette page ?

    Globalement:

    • assigner un style à un objet, c'est instancier sa propriété style (OpenLayers.Style);
    • assigner un style à tout les objets d'une couche, c'est instancier la propriété styleMap (OpenLayers.StyleMap) du Layer ou la propriété style.

    Il suffit donc à la création de mettre le styleMap/style dans les options de création de la couche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var myStyles = new OpenLayers.StyleMap({
        "default": new OpenLayers.Style({...}),
        "select": new OpenLayers.Style({...}),
        ...});
    var points = new OpenLayers.Layer.Vector(
        'Points', {styleMap: myStyles});
    Ainsi tout les feature de ce layer auront ce style.

  3. #3
    Membre du Club
    Homme Profil pro
    developpeur
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Points : 65
    Points
    65
    Par défaut clair comme de l'eau de roche...
    Effectivement, j'étais passé très vite sur cet exemple et je n'avais pas vu qu'il résolvait mon problème... merci beaucoup, ça marche maintenant
    Du coup, je vais me plonger plus précisément dans le code de cet exemple parce qu'il a l'air d'apporter beaucoup de réponses à d'autres problèmes que je me suis posés...

    Bonne journée et merci encore d'avoir pris le temps de me répondre

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/05/2014, 15h39
  2. Réponses: 2
    Dernier message: 22/01/2009, 10h28
  3. Style aero sur les bouton minimize, maximize, close
    Par annalady dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 19/06/2008, 23h19
  4. CR10 : insérer une page blanche sur les ruptures pages paire
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 07/09/2005, 18h09

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