bpm.gps
Géolocalisation avec carte Leaflet : afficher la position courante de l'utilisateur (mode display) ou pointer un lieu précis — position d'un véhicule, d'un chantier, d'une intervention (mode picker). La démo suit la position d'un véhicule de flotte : modifiez lat/lng, cliquez sur la carte ou utilisez votre propre position.
Position du véhicule : 48.841200, 2.321900
Python
bpm.gps(label="Véhicule VL-208 — dernière position", mode="picker", value={"lat": 48.8412, "lng": 2.3219}, on_change=update_position)| Prop | Type | Défaut | Requis | Description |
|---|---|---|---|---|
label | string | — | Non | Titre affiché au-dessus du bloc. |
mode | "display" | "picker" | display | Non | display = position de l'utilisateur, picker = sélection d'un point sur la carte. |
value | { lat: number; lng: number } | null | null | Non | Position courante (mode picker, composant contrôlé). |
onChange | (coords) => void | — | Non | Callback à chaque clic sur la carte ou déplacement du marqueur (mode picker). |
onLocation | (coords) => void | — | Non | Callback quand la position du navigateur est obtenue : reçoit { lat, lng, accuracy }. |
showMap | boolean | true | Non | Afficher la carte Leaflet (chargée côté client uniquement). |
height | number | 300 | Non | Hauteur de la carte en px. |
className | string | — | Non | Classes CSS additionnelles. |
Exemples
# Position courante de l'utilisateur (précision incluse)
bpm.gps(label="Ma position", on_location=save_coords)# Pointer la position d'un véhicule de flotte
bpm.gps(label="Véhicule VL-208", mode="picker", value={"lat": 48.8412, "lng": 2.3219}, on_change=update_position)# Capture de coordonnées sans carte (formulaire compact)
bpm.gps(show_map=False, on_location=handle_location)