← Retour aux issues

afficher plus clairement "chargement de ..." lors du clic sur un POI

publié le , mis à jour
Avatar github de etienneJretienneJr

Lorsque qu'on clique sur un POI du fond de carte, c'est une très bonne idée d'afficher "chargement de xxx" avec un petit sablier stylisé, mais :

  • vraiment gênant : ça ne s'affiche pas si on avait déployé le menu des moreCategories ➡️​ il faudrait le masquer car on se demande vraiment si le clic a été pris en compte
  • moins gênant : la fiche du précédent POI reste affichée le temps du chargement ➡️​ ça serait mieux de la masquer directement, pour retrouver l'affichage avec uniquement marqué "chargement de ..."
  1. Avatar github de laemlaem

    J'ajoute que souvent il y a un temps de chargement sans message de chargement. Ma v1 du chargement est pas géniale. D'autant plus depuis qu'on utilise overpass pour charger les données OSM plutôt que l'API d'édition. Overpass est assez lent...

  2. Avatar github de etienneJretienneJr

    Overpass est assez lent...

    Oui j'y ai réfléchi aussi.

    • est ce que ça serait possible de déployer une instance overpass interne ? ou bien ça utiliserait trop de ressources ?
    • quand c'est un POI qui a été affiché via les catégories, on a déjà tous les tags dans la requête par bbox, on n'a pas besoin de renvoyer une requête sur le node.
    • est-ce qu'on peut mettre en cache les résultats ? mais pour les requêtes par bbox, ça impliquerait de faire des requêtes par "tuile" (plutôt que strictement centrées sur la carte) pour qu'il y ait de la redondance d'une requête à une autre.

    Pour le 1er point, au delà de la vitesse, j'ai regardé les usage policy de l'instance overpass-api.de :

    You can safely assume that you don't disturb other users when you do less than 10,000 queries per day and download less than 1 GB data per day

    mais je ne me rends pas compte du nb de requêtes par jour que l'app génère déjà aujourd'hui ?

  3. Avatar github de etienneJretienneJr
    • ou bien ça utiliserait trop de ressources ?

    Idée : il faudrait étudier si on peut déployer une instance overpass interne qui soit légère et rapide en y chargeant uniquement les éléments osm que cartes.app va être amené à requêter.

    [edit] zut, à chaque fois j'oublie qu'il n'y a pas que les POI des catégories mais qu'on peut cliquer n'importe où sur la carte donc que quasiment tout est requêtable...

  4. Avatar github de laemlaem

    est ce que ça serait possible de déployer une instance overpass interne ? ou bien ça utiliserait trop de ressources ?

    Oui, surement possible mais ça fait plus de choses à maintenir, c'est toujours la MAJ le sujet. Déjà que je n'ai pas terminé le script de MAJ de photon et qu'il faut le faire à la main ^^

    mais je ne me rends pas compte du nb de requêtes par jour que l'app génère déjà aujourd'hui ?

    On est loin des 10 k mais on l'atteindra un jour.

  5. Avatar github de laemlaem

    quand c'est un POI qui a été affiché via les catégories, on a déjà tous les tags dans la requête par bbox, on n'a pas besoin de renvoyer une requête sur le node.

    Bonne remarque ! À voir s'il n'y a pas d'autres choses qu'on fait en plus, je ne sais plus.

  6. Avatar github de laemlaem

    Dans #820 je pousse une solution simple mais pas élégante à ton 1). On pourra faire mieux par la suite.

    la fiche du précédent POI reste affichée le temps du chargement ➡️​ ça serait mieux de la masquer directement, pour retrouver l'affichage avec uniquement marqué "chargement de ..."

    Pour ce 2), je ne suis pas convaincu. En attendant le chargement des nouvelles informations, je trouve cela intéressant de garder l'ancienne.

  7. Avatar github de LySioSLySioS

    Il existe https://overpass-ultra.us/ qui a soit disant de meilleures perf

  8. Avatar github de etienneJretienneJr

    Ah tiens je ne connaissais pas. J'ai l'impression que les perfs sont meilleures à l'affichage pour de gros volumes grâce à maplibre GL JS. Mais derrière ça requête par défaut le même serveur overpass-api.de/api : https://gitlab.com/trailstash/ultra/-/blob/main/lib/queryProviders/overpass.js#L56


✏️ Participer à la discussion