Icônes de carte personnalisés
publié le , mis à jour⚙️ Ceci est une proposition de changement de code.
Rendez-vous sur sa page Coderberg pour l'osculter.
etienneJr
Salut @laem , j'ai voulu pousser un commit (avec un fallback vers les sprites
spritesi les spritescartesne sont pas dispos) directement dans cette PR mais je n'ai pas réussi, sûrement à cause d'une question de droits d'accès à cette branche. Est-ce que je dois d'abord copier la branche dans mon fork, puis pousser dans cette branche forkée ? ça fera le lien avec cette PR en cours ? ou faut que je PR dans cette branche ? En plus j'avais voulu rebaser et j'avais un conflit sur bun.lockb que je ne savais pas comment gérer.Et à propos des sprites, tu préfères rester sur spritezero ? ou bien tu veux que j'essaye la technique que j'ai proposée ici qui permettrait d'utiliser directement les svg ?
etienneJr
@laem J'ai réussi à faire ce à quoi je pensais :
- en parcourant la liste des catégories, on charge au départ tous les svg dans la carte (je l'ai mis dans useAddMap mais je me doute que ça n'est pas le bon endroit ?)
- dans le style, pour les
Other POI, on ajoute un fallback :- si le svg est dispo, on l'utilise
- sinon on utilise le sprite png du style d'origine
Tu peux voir le code correspondant ici. Est-ce que ça te conviendrait ? Et ça donne ça (tiens ya un restaurant pour lequel ça n'a pas marché, à investiguer) :
etienneJr
tiens ya un restaurant pour lequel ça n'a pas marché, à investiguer
J'ai identifié que ça ne marche pas quand dans le pmtiles le poi a la propriété
level=0, mais je ne vois pas vraiment le lien 🤔 Si je modifie d'autres propriétés du layerOther POI, elles ne sont pas prises en compte non plus, donc ça donne l'impression qu'il utilise un autre layer pour afficher les objets qui ontlevel=0. Est-ce que ça pourrait avoir un lien avec indoorequal ?[EDIT] Le problème vient bien d'indoorequal qui affiche les poi contenant
level=0dans ses layersindoor-poi-rank1etindoor-poi-rank2, au lieu qu'ils soient affichés dans le layerOther POIdu style france. Désactiver ces 2 layers corrige bien le pb, mais je me doute que ça n'est pas une solution...voilà ce que ça donne :
- l'icone orange s'affiche bien sur le restaurant "Au marché des Lices"
- les icones svg qui seraient adaptées mais n'apparaissent pas sont dues à une différence d'id, par exemple
barpour la subclass VSbeerpour l'icone. Il y aura une harmonisation à faire.
laem
Merci ! Je t'ai ajouté aux contributeurs du dépôt, tu as du recevoir une invit. Je regarde au plus vite ta proposition dans le détail :)