new course
CSS grid landing page tutorial (36min)

Lesson info

Lesson info

Webflow's Map component lets you embed an interactive map on your site via the Google Maps Javascript API. You can specify the location to highlight and choose from various display options. 

In this video we’ll cover:

  1. ‍Adding a map to your website
  2. ‍Creating an API key
  3. ‍Customizing your Map settings
  4. ‍Styling your Map
  5. ‍Migrating Maps on exported projects

Explore this project

Want to dig into the project featured in this video and see how everything is put together? We've included the full project we used when making this lesson, and we've shared the link right under this very paragraph.

View and clone this projectDownload lesson assets
Clone this projectDownload project assets


The Map element gives gives us control over an embeddable map we can drop anywhere in a project.

When you’re first setting up a project, you’ll need to add your Google Maps API key.

So we’re going to break this into two sections: (1) we’ll cover integrating the Google Maps API key, and (2) we’ll cover using the Map in a project.

We last left off, just shy of 11 seconds ago, right here as we dragged a Map right into our project. When we click here, we’re taken, of course, to our Project Settings, specifically: Integrations. This is where we’ll paste in our API key for Google Maps.

And there are two routes we can take. (1) we can create a single API key that we might use on multiple projects. Or, (2) if you’re creating tons of different projects, maybe for different clients, sometimes it might be good to generate a separate key for each client. That’s your choice.

So, over here back in Integrations, we can click to access the Google Maps JavaScipt API key. Click Get A Key, then use the dropdown to Create a new project (unless you’ve already created one). Then press Create and Enable API.

While we’re waiting, this an extraordinary time to talk about what is, by far, the best episode of Star Trek: The Next Generation. Now a lot of people will say that The Best of Both Worlds, Part I, the Season 3 finale—

And that’s it. Our API key is right there. If you’d like, you can restrict its usage in the API console, but all that’s required is that you copy it to your clipboard (here’s a handy button that does just that), and go back over to Integrations, and paste it right in. Save Changes.

Now if you’ve added this to an existing project that’s already out there, you’ll want to publish to make sure your API key is now being used.

If you’re just getting started, you can head on over to the Designer.

That’s linking up your Google Maps API key. Let’s talk about the Map element itself.

Once you’ve added your API key, you’ll see a generic map preview. And that’s because Google limits the usage of your API key to your published site, whether you’re using a custom domain or a domain.

And if we double-click on the Map, we can type in an address or a general location and press enter. If Google Maps clarifies that address, it’ll update right in the Address field.

Press Show All Settings, or just click over to the Element Settings Panel, and we can control the specific way our map behaves. We can change the address, add a tooltip, adjust the zoom level, and of course change the type of map that’s displayed.

And these two options? If you’re scrolling down a page and your mouse happens to land inside the boundary, scrolling movement on a scrollwheel or trackpad can cause the map to zoom in and out. You might want this, but if you don’t, uncheck Scrollwheel. And touch drag is a similar concept. On touch devices, this prevents us from accidentally moving around in the map as opposed to using our finger to move around on the actual page.

Of course, you can style a Map element to adjust its behavior and position. It’ll have some height, but you can put in your own values for size and positioning. By default, it’s going to take up the full width of whatever element it’s in. And we’ll double click to rename our class so we can apply that same class to other maps we might use in our project.

If we publish, our map appears just how we configured it right on our page.

And that’s the Map element.