gitwtfhub

wtf is mapbox-rotate-map-based-on-mobile-web-browser-compass?

bunlong/mapbox-rotate-map-based-on-mobile-web-browser-compass — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2019-10-17

Audience · developerComplexity · 2/5DormantSetup · easy

TL;DR

A snippet that rotates a Mapbox map to match your phone's compass heading, using the Device Orientation API for real-time, immersive mobile navigation.

Mindmap

mindmap
  root((repo))
    What it does
      Reads phone compass
      Rotates Mapbox map
      Smooth easing motion
    Tech stack
      Mapbox
      Device Orientation API
    Use cases
      Hiking navigation app
      Real estate AR app
      Compass-driven maps
    Audience
      Mobile web developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a hiking or navigation app where the map rotates to match the phone's real-world orientation.

REASON 2

Create a real estate app that labels properties on a map as you point your phone at them.

REASON 3

Add an augmented-reality-style map experience anchored to the physical world.

REASON 4

Handle cross-browser compass differences between Safari, Chrome, and Firefox automatically.

What's in the stack?

MapboxJavaScript

How it stacks up

bunlong/mapbox-rotate-map-based-on-mobile-web-browser-compass0verflowme/alarm-clock0verflowme/seclists
LanguageCSS
Last pushed2019-10-172022-10-032020-05-03
MaintenanceDormantDormantDormant
Setup difficultyeasyeasyeasy
Complexity2/52/51/5
Audiencedevelopervibe coderops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 30min

Only works on mobile devices with compass sensors and browsers supporting the Device Orientation API, shows an alert otherwise.

Wtf does this do

This project lets you rotate a Mapbox map based on which direction your phone is pointing. When you tilt or turn your mobile device, the map automatically rotates to match your phone's compass heading, creating an immersive, real-world navigation experience. Here's how it works: your phone's built-in compass and motion sensors constantly track which direction it's facing. The code listens to these sensor readings through your mobile browser and feeds that directional information to Mapbox, which rotates the map in real time. The rotation happens smoothly thanks to an easing function that makes the motion feel natural rather than janky. The code also handles different browser quirks, Safari reports compass data slightly differently than Chrome or Firefox, so the script detects which browser you're on and reads the compass value accordingly. This is useful for anyone building mobile-first maps or navigation apps. Imagine a hiking app where rotating your phone automatically spins the map to match your real-world orientation, or a real estate app that lets you point your phone at a property and see it labeled on the map. It's also handy for augmented reality-style experiences where the digital map should feel anchored to the physical world around you. The main constraint is that this feature only works on mobile devices with compass sensors and browsers that support the Device Orientation API. Older phones or browsers without this API will show an alert instead of silently failing. It's a nice progressive enhancement, works beautifully on modern smartphones, but degrades gracefully elsewhere.

Yoink these prompts

Prompt 1
Help me integrate this compass-based map rotation into my mobile Mapbox app.
Prompt 2
Explain how this code reads phone compass data differently on Safari versus Chrome and Firefox.
Prompt 3
Show me how to add a smooth easing function so the map rotation doesn't feel janky.
Prompt 4
How does this project detect when a device or browser doesn't support the Device Orientation API, and what happens then?

Frequently asked questions

wtf is mapbox-rotate-map-based-on-mobile-web-browser-compass?

A snippet that rotates a Mapbox map to match your phone's compass heading, using the Device Orientation API for real-time, immersive mobile navigation.

Is mapbox-rotate-map-based-on-mobile-web-browser-compass actively maintained?

Dormant — no commits in 2+ years (last push 2019-10-17).

How hard is mapbox-rotate-map-based-on-mobile-web-browser-compass to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is mapbox-rotate-map-based-on-mobile-web-browser-compass for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.