Composants → bpm.gps

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.

StableMédia⏱ 2 min
Véhicule VL-208 — dernière 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)
PropTypeDéfautRequisDescription
labelstringNonTitre affiché au-dessus du bloc.
mode"display" | "picker"displayNondisplay = position de l'utilisateur, picker = sélection d'un point sur la carte.
value{ lat: number; lng: number } | nullnullNonPosition courante (mode picker, composant contrôlé).
onChange(coords) => voidNonCallback à chaque clic sur la carte ou déplacement du marqueur (mode picker).
onLocation(coords) => voidNonCallback quand la position du navigateur est obtenue : reçoit { lat, lng, accuracy }.
showMapbooleantrueNonAfficher la carte Leaflet (chargée côté client uniquement).
heightnumber300NonHauteur de la carte en px.
classNamestringNonClasses 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)