Build Design Systems With Penpot Components
Penpot's new component system for building scalable design systems, emphasizing designer-developer collaboration.

Framer – Medium | Sergey Voronov
If you are a designer prototyping a map experience, you’re using interactions and relying on data, and Framer just happens to be the perfect tool for that.
But hooking Framer up with existing map solutions like Mapbox or Google Maps can be a problem if you’re not an advanced JS user.
Luckily for us, Iván Flores created a Mapbox boilerplate module for Framer that allows you to create a mapbox Framer object easily without messing around with npm modules and such.
The only problem with this module was that you needed to dig into Mapbox JS documentation in order to do basic things with maps and translate JS code to Coffeescript with the http://js2.coffee site.
www.mapbox.com/mapbox-gl-js/api
I needed to do simple things like adding markers from existing Framer layers, creating new Framer layers as Mapbox markers, building a route between points, animating markers on route, and animating a mapbox object to a certain location.
So I built this project for the most recent FramerLondon meetup using converted JS code.
Since the feedback was overwhelmingly good, I decided to update Ivan’s module with all new functionality.
So the first step is registering a Mapbox.com account and getting your API key.
Install the Framer Mapbox JS module and create a new Mapbox object in Framer.
You can customize a Mapbox object with the following properties:
The marker object can have any attribute a Framer layer has, and the point attributes for the longitude and latitude coordinates should be in an array.
If you have an existing Framer layer (from the code or design tab), you can use a CustomMarker class:
With the Mapbox Directions API you can get the geoJSON of the route between two points.
With the buildRoute method of our module you can get this geojson and create a line route with a defined strokeWidth and StrokeColor like this:
Use flyto(point) method and pass array of new location to it
With all the code above you will end up with something like this
You can build 3D buildings with the build3D method.
I’m excited to see what you create with the FramerMapbox module. Feel free to hit me up with any questions or suggestions.
Prototyping maps with Framer and Mapbox was originally published in Framer on Medium, where people are continuing the conversation by highlighting and responding to this story.
AI-driven updates, curated by humans and hand-edited for the Prototypr community