Oihana Next UI - 0.48.0

Application logo

Carte et contrôles

Une carte MapLibre dans son cadre : contrôles, états de chargement et de vide, mention de source, cadrage et géolocalisation.

Une carte, un lieu

Le point sort de l'adaptateur et se répand tel quel : « <Map { ...fromSchema( place ) } /> ».

Les contrôles

« true » donne le zoom et la boussole, « false » n'en donne aucun, et un objet ajoute l'échelle ou le plein écran.

De gauche à droite : controls={ false } · controls par défaut · controls={{ fullscreen : true , scale : true }}

Le cadre

Mêmes états que ChartFrame : squelette au chargement, état vide quand il n'y a rien à montrer. Ni l'un ni l'autre ne monte de carte.

No location

De gauche à droite : loading · sans latitude ni longitude · interactive={ false } (essayez de la déplacer).

La mention de source

Le crédit vient du moteur, qui le lit dans le style et dans le TileJSON. « compact » le replie sur un bouton, un nœud le remplace, « false » l'enlève — et l'ODbL demande alors qu'il soit ailleurs sur la page.

© OpenStreetMap contributors

De gauche à droite : attribution="compact" · attribution={ OSM_ATTRIBUTION } · attribution={ false }

Un cadrage plutôt qu'un centre

« bounds » nomme ses quatre bords — north, south, east, west — pour qu'aucune vue ne dépende d'un ordre non écrit.

Géolocalisation

Le bouton, et ce qu'il dessine

« controls={{ geolocate : true }} » pose notre bouton, pas celui du moteur : un Button de la maison, aux jetons daisyUI, dans un MapControl. Le disque translucide est la marge d'erreur que le navigateur annonce, en mètres réels — il grandit et rétrécit avec le zoom.

Le suivi, et le coin

« track » transforme le bouton en bascule : il suit tant qu'il est allumé. « position » choisit le coin — ici en bas à gauche, pour ne pas croiser les contrôles du moteur ni la mention de source.

Un contrôle à nous, sans rapport avec la position

« MapControl » est la primitive : une boîte dans un coin, au-dessus du canvas, dans laquelle on met ce qu'on veut. Ce qu'on y met doit être opaque — sur des tuiles, un bouton fantôme ne laisse qu'une icône flottante.

Le hook, sans carte

« useGeolocation » vit hors de components/maps : un formulaire d'adresse veut « me localiser » sans rien afficher. Rien ne se déclenche au montage — l'autorisation n'est demandée qu'au clic.

permission : loading