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 :

OL 6.8.1 vs OL 5.3.0 + api 3.2.4 : des différences notoires, et dommageables à moyen terme.


Sujet :

IGN API Géoportail

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 868
    Points : 371
    Points
    371
    Par défaut OL 6.8.1 vs OL 5.3.0 + api 3.2.4 : des différences notoires, et dommageables à moyen terme.
    Bonjour

    Je note deux différences :

    1 - La transparence des couches :

    Dans mon scénario de migration vers les licences gratuites, j'en profite pour monter de niveau les différentes bibliothèques : OpenLayers en fait partie.
    Ainsi dans la page https://wnat.fr/ANDROID_CARTE_IGN_DE...79462760121135
    c'est la version 6.8.1 de Openlayers qui est utilisée.
    Avec cette version, la transparence des couches n'est pas rendu à l'affichage ; par contre, si l'on modifie, si l'on modifie la transparence dans le layerswitcher, la nouvelle valeur est correctement affichée.
    Avec la page https://wnat.fr/ANDROID_CARTE_IGN_DE...79462760121135 qui utilise OL 5.3.0, la transparence est fonctionnelle !

    2 - Récupération des propriétés des polygones tracés à l'écran

    Lorsque l'on trace, que l'on clique un polygone existant, j'ai besoin de récupérer diverses propriétés :
    Les coordonnées du polygone et le style par exemple :

    Avec OL 5.3.0, pour récupérer les coordonnées je fais une boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     for (i=0;i<myFeature.values_.geometry.flatCoordinates.length;i=i+2)
    Avec OL 6.8.1, la structure de l'objet myFeature a changée ; ainsi je dois exécuter la boucle suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i=0;i<myFeature.A.geometry.flatCoordinates.length;i=i+2)
    Pour les styles :
    OL 5.3.0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    lastStyle_fill=feature.style_.fill_.color_;
    lastStyle_stroke=feature.style_.stroke_.color_;
    lastStyle_strokeWidth=feature.style_.stroke_.width_;
    OL 6.8.1 : je n'ai pas trouvé comment récupérer les styles. Je passe donc par des propriétés personnelles que j'ai ajouté dans le feature lors de sa création (setAttr)
    Ainsi, je récupère les éléments du style avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    lastStyle_fill=lastFeature.A.MY_FILL;
    lastStyle_stroke=lastFeature.A.MY_COLOR;
    lastStyle_strokeWidth=lastFeature.A.MY_WIDTH;
    Bref, sur quel pied danser ?

  2. #2
    Membre actif
    Homme Profil pro
    Architecte progiciel et développeur informatique
    Inscrit en
    Février 2011
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte progiciel et développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 228
    Points : 286
    Points
    286
    Par défaut
    Hello,
    pour bien faire, tu dois utiliser les méthodes de OpenLayers. https://openlayers.org/en/latest/api...e-Feature.html
    Pour connaitre les coordonnées de Feature, on va faire :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var geometry = feature.getGeometry();
    var featurecoord = geometry.getCoordinates();

    Pour le style, c'est pareil tu as une méthode getStyle(). https://openlayers.org/en/latest/api....html#getStyle

    Pareil pour les propriétes getProperties.

    Tu as des get et des set pour modifier les valeurs.

    Je te laisse expérimenter.

    Xav

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    868
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 868
    Points : 371
    Points
    371
    Par défaut
    Je viens de mettre en œuvre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var geometry = myFeature.getGeometry();
    for (i=0;i<geometry.flatCoordinates.length;i=i+2)
    est c'est nickel.
    J'avais essayé la méthode en interactif en mode debug mais geometry restait null.
    A suivre.
    Par contre, le problème de transparence des couches semble résolu et pas par mes soins !

Discussions similaires

  1. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  2. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  3. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37
  4. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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