-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(drawing): Titre par défaut à la couche du croquis #296
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On ne serailise pas les méta informations de la couche dans le layer natif (source)..., je pense qu'avant, le job était réalisé par le SDK, mais, maintenant, c'est aux extensions de faire le job.
Pour avoir une persistance des informations de la couche, on les ajoute directement dans le layer natif.
Chaque contrôle doit gérer les méta informations à ajouter :
- drawing
- isochrone
- route
- (measures)
- imports : il existe déjà une sérialisation des informations !
Les informations à serialiser sont renseignées par le gestionnaire de couche :
/**
* Add a new layer to control (when added to map) or add new layer configuration
*
* @param {ol.layer.Layer} layer - layer to add to layer switcher
* @param {Object} [config] - additional options for layer configuration
* @param {Object} [config.title] - layer title (default is layer identifier)
* @param {Object} [config.description] - layer description (default is null)
* @param {Object} [config.legends] - layer legends (default is an empty array)
* @param {Object} [config.metadata] - layer metadata (default is an empty array)
* @param {Object} [config.quicklookUrl] - layer quicklookUrl (default is null)
* @fires layerswitcher:add
* @example
* layerSwitcher.addLayer(
* gpParcels,
* {
* title : "Parcelles cadastrales",
* description : "description de la couche",
* quicklookUrl : "http://quicklookUrl.fr"
* }
* )
*/
Mais, malheureusement, le gestionnaire de couche ne fait que la moitié du job, il devrait ajouter ces informations dans le layer (soit attributs de l'objet layer, soit properties de layer ou source) :
Même si chaque contrôle implémente la sérialisation, le gestionnaire de couche reste le mécanisme principal de la sérialisation des méta information (avec mise en conformité) car il a connaissance de tout ce qui est ajouté sur la carte.
Les couches du catalogue possèdent déjà ces informations :
// add originators to layer source (to be updated by Originators control)
this._originators = wmtsParams.originators;
// add legends and metadata (to be added to LayerSwitcher control)
this._legends = options.legends || wmtsParams.legends;
this._metadata = options.metadata || wmtsParams.metadata;
this._description = options.description || wmtsParams.description;
this._title = options.title || wmtsParams.title;
this._quicklookUrl = options.quicklookUrl || wmtsParams.quicklookUrl;
this.name = options.layer;
this.service = "WMTS";
Titre des couches compute dans gfi ZoomToExtent corrigé dans layerswitcher pour couches compute
D'un point de vue fonctionnel :
-LayerSwitcher : |
Donc, si je modifie le nom d'un drawing (My drawing), on a aussi la modification sur le GFI ? |
Le GFI va prendre ça :
Pour les croquis / compute, c'est layerProperties.title que le widget instancie à "Mon Croquis", "Mon itinéraire". Propriété gfiLayer.layer.getProperties().title accessible en écriture, donc modifiable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok.
Mais, j'ai un peu de mal à me rendre compte du choix d'enregistrer les méta informations (titre, description, ...) directement dans les properties du layer natif d'OpenLayers de l'outil de dessin quand il sera sur le Portail avec ou sans connexion à l'espace personnel.
Car, quand nous allons enregistrer un croquis dans l'espace personnel, comment récupère t on les méta informations du layer sur la carte (à minima le titre) ? Si le titre du croquis est modifié par l'outil de dessin, comment récupère t on cette information ?
J'ai l'impression que les méta informations doivent être stockées dans le ol.layer ou ol.source (properties)...
Je ne vois pas trop le problème ? Le titre est enregistré dans les propriétés du layer, donc accessible et editable (tant qu'on sait quelle couche récupérer) :
Et si on veut mettre à jour le titre :
|
Problème :
On ajoute donc le nom "Mon Croquis" par défaut à la VectorLayer, que l'on transmet au GFI.
cf. IGNF/cartes.gouv.fr-entree-carto#415
On en profite pour corriger le zoomToExtent du layerSwitcher sur les croquis