← Retour aux issues

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.

  1. Avatar Codeberg de etienneJretienneJr

    Salut @laem , j'ai voulu pousser un commit (avec un fallback vers les sprites sprite si les sprites cartes ne 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 ?

  2. Avatar Codeberg de etienneJretienneJr

    @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) : image

  3. Avatar Codeberg de etienneJretienneJr

    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 layer Other 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 ont level=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=0 dans ses layers indoor-poi-rank1 et indoor-poi-rank2, au lieu qu'ils soient affichés dans le layer Other POI du 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 bar pour la subclass VS beer pour l'icone. Il y aura une harmonisation à faire. image
  4. Avatar Codeberg de etienneJretienneJr

    j'ai résolu le pb lié à indoorequal en modifiant le style indoorequal pour qu'il utilise les même images comme icones (en 1er essai, sinon fallback) si bien que tout semble fonctionner, j'ai poussé une PR alternative #796

  5. Avatar Codeberg de laemlaem

    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 :)

  6. Avatar Codeberg de etienneJretienneJr

    Résolu avec #805


✏️ Participer à la discussion