pas de chargement d'indoorequal après changement de fond
publié le , mis à jourpour reproduire le bug :
- depuis base, passer sur un autre fond
- l'erreur
Error: There is no tile manager with ID 'indoorequal'apparait dans la console
- l'erreur
- revenir sur le fond base
- l'erreur réapparait, et les couches d'indoorequal ne réapparaissent pas.
laem
Oui je crois que c'est un pb présent et connu depuis le tout début de l'implé d'indoor=.
etienneJr
J'ai cherché à résoudre ce ticket mais je n'ai pas réussi, je ne comprends pas bien quand est chargé quelle partie d'indoorequal (ou probablement plutôt quand est supprimé par erreur le lien vers les tuiles?). @laem si tu as l'occasion de regarder et corriger, ça serait chouette, car c'est vraiment pénible. Merci !
etienneJr
J'ai identifié que c'est cette ligne qui pose problème car, probablement, elle désactive la source ou les layers d'indoorequal lorsqu'elle charge le nouveau style https://codeberg.org/cartes/web/src/commit/8e04d93bb03b3750f637146ff760a9f5a9c8049f/app/Map.tsx#L349 mais je n'ai pas réussi à corriger le pb.
[edit] pourtant mapbox dit bien que c'est ça qu'il faut faire : réactiver les autres sources après un setStyle : https://docs.mapbox.com/mapbox-gl-js/example/style-switch/
Je m'interroger sur le
diff:false, je crois comprendre qu'il est là pour éviter d'autres bugs. @laem tu peux m'expliquer ?j'ai posé la question ici : https://github.com/indoorequal/maplibre-gl-indoorequal/issues/166
laem
Je m'interroger sur le diff:false, je crois comprendre qu'il est là pour éviter d'autres bugs. @laem tu peux m'expliquer ?
J'avais introdut le diff: false au tout début. Le changement de style par diff est super stylé (hihihi) mais provoquait des bugs. À voir si ça s'est amélioré depuis :)
Dans tous les cas, sache que je veux désactiver l'affichage automatique des tuiles indoor. Car c'est lourd.
Quand on zoom sur la gare de Rennes, on ne veut dans la plupart des cas pas le détail de l'intérieur. Un bandeau "activer l'intérieur" accompagné d'une couche qui montre clairement où des tuiles intérieures sont présentes serait une meilleur UX je pense.
laem
Je prends
laem
Changer l'UX pour n'afficher indoor qu'au clic après une indication visuelle me semble trop compliqué pour ce matin, je remets à plus tard et je me charge juste de ce bug.
laem
OK je crois que c'est bon dans !1260. C'est loin d'être parfait, j'utilise un setTimeout après le changement de style, et des erreurs sont présentes mais attrapées.