Browser-native
Runs entirely in the browser using MediaPipe WASM. No server, no WebSocket, no data leaves the device. Privacy-first by design.
Browser-native hand gesture controls for OpenLayers, Google Maps, and Leaflet. Powered by MediaPipe. No backend required.

Map Gesture Controls works with three popular mapping libraries. Pick the one you already use and get started in minutes. Same gesture API, same configuration, different map renderer.
Full-featured gesture controller for OpenLayers maps. Supports pan, zoom, and rotation with hand tracking. Ideal for GIS applications and advanced mapping workflows.
npm install @map-gesture-controls/olDrop-in gesture controller for the Google Maps JavaScript API. Same gestures, same config. Perfect for apps already using Google Maps Platform services.
npm install @map-gesture-controls/google-mapsLightweight gesture controller for Leaflet maps. Works with OpenStreetMap tiles out of the box, no API key needed. Great for open-source and community projects.
npm install @map-gesture-controls/leaflet