/bubble-tutorials

How to integrate OpenStreetMap in Bubble

Learn how to integrate OpenStreetMap in Bubble with simple steps, plugins and tips to add interactive maps to your no‑code app.

Matt Graham, CEO of Rapid Developers

Book a call with an Expert

Starting a new venture? Need to upgrade your web or mobile app? RapidDev builds Bubble apps with your growth in mind.

Book a Free Consultation

How to integrate OpenStreetMap in Bubble

You integrate OpenStreetMap in Bubble by using a plugin that displays OSM tiles (the easiest way), or by embedding a Leaflet.js map inside an HTML element (the most flexible way). Bubble does not have a native OSM element, so you either install a plugin from the Bubble Plugin Marketplace or manually embed OSM with HTML + JavaScript.

 

Two Working Approaches

 

Approach 1 – Use a Bubble plugin (beginner‑friendly)

  • Go to the Plugins tab → click Add Plugins.
  • Search for: OpenStreetMap, Leafy Maps, or Leaflet Maps.
  • Install one of the plugins that clearly states it uses OSM tiles (these are real plugins).
  • Drag the plugin's map element onto your page like a normal Bubble Map element.
  • Set fields such as Center latitude/longitude, Zoom level, and List of markers.

This works out of the box and keeps everything Bubble‑native (markers, workflows on click, dynamic locations).

 

Approach 2 – Manual embed with Leaflet.js

 

This gives you full control. You create an HTML element in Bubble and load Leaflet, which is a popular open‑source JS library built for OpenStreetMap.

  • Add an HTML element to the page.
  • Paste working Leaflet code inside it.
  • You can use Bubble dynamic data by inserting Current User's ... fields directly in the code.

 

<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>

<div id="mapid" style="height:400px;"></div>

<script>
// Initialize map
var map = L.map('mapid').setView([51.505, -0.09], 13);

// Load OSM tiles
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  maxZoom: 19,
  attribution: '© OpenStreetMap'
}).addTo(map);

// Add marker example
L.marker([51.505, -0.09]).addTo(map);
</script>

 

Which method should you choose?

 

Choose a plugin if you want speed, less code, and easy integration with Bubble’s workflows. Choose the HTML + Leaflet method if you need custom UI, clustering, custom icons, or advanced map behavior. Both options are valid and commonly used in real Bubble apps.

Explore More Valuable No-Code Resources

How to integrate Bubble.io with Git?

Learn how to seamlessly integrate Bubble.io with Git through our comprehensive step-by-step guide. Perfect for beginners and professionals.

Explore

How to integrate Bubble.io with Reddit Ads?

Learn how to seamlessly integrate Bubble.io with Reddit Ads using our easy step-by-step guide. Boost your ad management today!

Explore

How to integrate Bubble.io with AWS S3?

Explore our step-by-step guide on integrating Bubble.io with AWS S3, making your app development process more efficient and secure.

Explore

How to integrate Bubble.io with Lucidchart?

Follow our step-by-step guide to seamlessly integrate Bubble.io with Lucidchart, enhancing your workflow & productivity.

Explore

How to integrate Bubble.io with Kentico?

Learn how to seamlessly integrate Bubble.io and Kentico with our comprehensive, easy to follow step-by-step guide.

Explore

How to integrate Bubble.io with Box?

Discover easy-to-follow steps for integrating Bubble.io with Box. Boost your workflow and secure your files seamlessly today.

Explore

Stuck in Bubble.io? We’re here to help!

Fix broken workflows | Optimize logic | Boost performance | Scale with confidence

4.9
Clutch rating 🌟
600+
Happy partners
17+
Countries served
190+
Team members

By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Cookie preferences