GoMap! — Unlimited MAP with Markers - Bubble Map Plugin - NO API KEY REQUIRED

:world_map: GoMap! — Unlimited MAP with Markers | Bubble Map Plugin — No Google Maps, No Mapbox, No API Keys

Looking for a Bubble map plugin that doesn’t charge per request? Tired of configuring Google Maps API keys, hitting Mapbox rate limits, or paying for expensive geocoding?

We built GoMap! — a full-featured interactive map plugin for Bubble that runs entirely on its own infrastructure. No Google Maps. No Mapbox. No third-party API keys. Zero per-request charges.

One flat subscription — unlimited maps, unlimited markers, unlimited geocoding requests.

:point_right: Install Plugin | $35/month

:point_right: Live Demo App

:point_right: Open Demo in Bubble Editor — explore the DB structure, marker formatting, and workflows yourself


What You Get — Bubble Map Plugin Features

:world_map: Beautiful Map Styles — No External Tile Provider

Switch between Standard, Dark, Light, and Bright map themes with a single dropdown. Self-hosted vector tiles — blazing fast, no third-party tile provider.

:round_pushpin: Bubble Map Markers — Rich Data, Full Customization

Each marker can carry: title, description, address, phone, website, logo, image gallery, video gallery, rating + review count, price, category, color, badge (TOP/NEW/HOT), tags, and a full weekly work schedule with automatic open/closed status calculation.

Pass your markers as a simple formatted text string from any Bubble data source — Do a Search, API call, or backend workflow. No complex JSON, no repeating groups hacks.

:magnifying_glass_tilted_left: Built-in Geocoding & Address Search

Type an address — get instant results with a pin on the map. No separate geocoding plugin needed. Built-in geocode and reverse geocode — both client-side and server-side. Search is powered by our own geocoding engine.

:compass: Map Navigation — Driving, Cycling, Walking

Users can get driving, cycling, or walking directions to any marker — right from the marker card. One tap opens route with directions. Perfect for store locator, directory apps, and delivery platforms.

:bar_chart: Map Marker Filtering & Clustering

  • Category filters — show/hide markers by category with a built-in filter panel

  • Radius filter — filter markers within a specific distance from the user or map center

  • Clustering — configurable cluster radius and max zoom, handles thousands of markers

:bullseye: Map Centering & User Geolocation

  • Auto-fit all markers — camera automatically adjusts to show every marker

  • Center on user GPS with fallback to IP geolocation

  • Center on a specific marker by ID

  • Radius-based initial fit — show only markers within X km/miles on load

  • Programmatic flyTo via the center_on action with lat/lng/zoom

:computer_mouse: Custom Action Button — Trigger Bubble Workflows

Add a custom button inside the marker card with your own label. Trigger a Bubble workflow when it’s clicked — perfect for “Book Now”, “Add to Favorites”, “View Details”, or anything else. Full Bubble workflow integration with events and exposed states.

:globe_showing_europe_africa: Multilingual Map UI — 19 Languages Auto-Detected

UI automatically adapts to the user’s browser language: English, Ukrainian, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Czech, Turkish, Japanese, Chinese, Korean, Arabic, Hindi, Swedish, Norwegian, Danish.

:satellite_antenna: 25+ Exposed States for Bubble Workflows

Get real-time data from the map into your Bubble workflows:

  • Selected marker ID, full JSON data, unique ID

  • Map state: center lat/lng, zoom, bounds (NE + SW)

  • Visible markers count

  • User geo: detected lat/lng + reverse-geocoded address

  • Search results: picked address + coordinates

  • Country/region/city from map click

:fire: 13 Bubble Events to Trigger Workflows

marker_clicked · map_clicked · card_closed · navigate_clicked · custom_marker_button_clicked · map_moved · user_location_detected · map_ready · address_picked · geocode_complete · reverse_geocode_complete · country_picked · and more.

:high_voltage: Bubble Workflow Actions Geocode and Reverse Geocode are avaliable with no limits! No need to use external paid api!

  • Geocode — address → lat/lng (returned values, usable in next Bubble workflow steps)

  • Reverse Geocode — lat/lng → address, city, region, country

  • Generate Mock Markers — instantly generate test markers around any location for prototyping

:label: Business Hours & Automatic Open/Closed Status

Set work_days, work_hours, and time_zone on a marker — the plugin computes the status live:

  • :white_check_mark: Open · closes at 22:00

  • :warning: Closing soon · 21:45

  • :red_circle: Closed · opens at 09:00

  • :zzz: Day off

No backend logic needed. It just works.


Marker Data Format — How to Pass Markers in Bubble

You pass markers as a single text string. Each marker is wrapped in { }, fields separated by ;, key-value pairs by :. Connect multiple markers with ,.

In Bubble: Do a Search for Markers :formatted as text{param:value;param:[value1,value2,value3];param:value}Delimiter ,

All parameter names are predefined — just map your DB fields to them.

Minimal marker:


{id:nyc-001;lat:40.748817;lng:-73.985428;title:Empire State Building}

With image gallery + videos:


{id:nyc-004;lat:40.742456;lng:-74.005974;title:Chelsea Market;cat:restaurant;color:#DC2626;logo:https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=80;imgs:[https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=600,https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=600,https://images.unsplash.com/photo-1424847651672-bf20a4b0982b?w=600];videos:[https://example.com/chelsea-market.mp4];desc:Famous Italian-inspired marketplace with artisan food vendors and cooking classes}

With full weekly schedule (simple hours):


{id:nyc-003;lat:40.752726;lng:-73.977229;title:Grand Central Terminal;cat:landmark;color:#0284C7;work_days:[1,2,3,4,5,6,7];work_hours:05:15-02:00;time_zone:America/New_York}

Per-day schedule (different hours per day):


{id:nyc-002;lat:40.761433;lng:-73.977622;title:Museum of Modern Art (MoMA);cat:landmark;color:#7C3AED;work_days:[1,2,3,4,5,6,7];work_hours:[1=10:30-17:30,2=10:30-17:30,3=10:30-17:30,4=10:30-17:30,5=10:30-21:00,6=10:30-19:00,7=10:30-17:30];time_zone:America/New_York}

FULL marker — every field:


{id:nyc-001;lat:40.748817;lng:-73.985428;title:Empire State Building;cat:landmark;color:#8B5CF6;logo:https://images.unsplash.com/photo-1534430480872-3498386e7856?w=80;imgs:[https://images.unsplash.com/photo-1534430480872-3498386e7856?w=600,https://images.unsplash.com/photo-1555109307-f7d9da25c244?w=600,https://images.unsplash.com/photo-1518235925463-0ba0215e498f?w=600];videos:[https://example.com/esb-tour.mp4];desc:Iconic 102-story Art Deco skyscraper with observation decks offering stunning city views;addr:350 5th Ave, New York, NY 10118;phone:+12127363100;url:https://www.esbnyc.com;rating:4.7;rcount:28450;price:42;tags:[wifi,observation,historic,gift-shop];badge:TOP;work_days:[1,2,3,4,5,6,7];work_hours:[1=10:00-00:00,2=10:00-00:00,3=10:00-00:00,4=10:00-00:00,5=10:00-00:00,6=10:00-00:00,7=10:00-00:00];time_zone:America/New_York}

Multiple markers:


{id:nyc-001;lat:40.748817;lng:-73.985428;title:Empire State Building;cat:landmark;color:#8B5CF6;logo:https://images.unsplash.com/photo-1534430480872-3498386e7856?w=80;imgs:[https://images.unsplash.com/photo-1534430480872-3498386e7856?w=600,https://images.unsplash.com/photo-1555109307-f7d9da25c244?w=600];desc:Iconic 102-story Art Deco skyscraper with observation decks;addr:350 5th Ave, New York, NY 10118;phone:+12127363100;url:https://www.esbnyc.com;rating:4.7;rcount:28450;price:42;tags:[wifi,observation,historic,gift-shop];badge:TOP;work_days:[1,2,3,4,5,6,7];work_hours:[1=10:00-00:00,2=10:00-00:00,3=10:00-00:00,4=10:00-00:00,5=10:00-00:00,6=10:00-00:00,7=10:00-00:00];time_zone:America/New_York},{id:nyc-004;lat:40.742456;lng:-74.005974;title:Chelsea Market;cat:restaurant;color:#DC2626;logo:https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=80;imgs:[https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=600,https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=600,https://images.unsplash.com/photo-1424847651672-bf20a4b0982b?w=600];videos:[https://example.com/chelsea-market.mp4];desc:Famous Italian-inspired marketplace with artisan food vendors;addr:75 9th Ave, New York, NY 10011;phone:+12129222424;url:https://www.chelseamarket.com;rating:4.5;rcount:14560;price:85;tags:[food,italian,market,dine-in,takeout];badge:HOT;work_days:[1,2,3,4,5,6,7];work_hours:[1=07:00-02:00,2=07:00-02:00,3=07:00-02:00,4=07:00-02:00,5=07:00-03:00,6=07:00-03:00,7=08:00-22:00];time_zone:America/New_York},{id:nyc-007;lat:40.785291;lng:-73.974523;title:Brooklyn Roasting Co.;cat:cafe;color:#92400E;logo:https://images.unsplash.com/photo-1509042239860-f550ce710b93?w=80;imgs:[https://images.unsplash.com/photo-1554118811-1e0d58224f24?w=600,https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=600,https://images.unsplash.com/photo-1442512595331-e89e73853f31?w=600];desc:Cozy neighborhood cafe with specialty single-origin coffees;addr:201 W 83rd St, New York, NY 10024;phone:+12125551234;url:https://brooklynroasting.com;rating:4.9;rcount:876;price:12;tags:[wifi,terrace,pet-friendly,breakfast];work_days:[1,2,3,4,5,6,7];work_hours:[1=07:00-20:00,2=07:00-20:00,3=07:00-20:00,4=07:00-20:00,5=07:00-21:00,6=08:00-21:00,7=08:00-19:00];time_zone:America/New_York}


Bubble Dynamic Data — How to Connect Your Database to the Map

Use Do a Search for Markers :formatted as text in Bubble:

Content to show:


{id:This Location's unique id;marker_unique_id:This Location's unique id;lat:This Location's latitude;lng:This Location's longitude;title:This Location's name;cat:This Location's category;color:This Location's color;logo:This Location's logo;imgs:[This Location's images:each item's URL:joined with ,];videos:[This Location's videos:each item's URL:joined with ,];desc:This Location's description;addr:This Location's address;phone:This Location's phone;url:This Location's website;rating:This Location's rating;rcount:This Location's review_count;price:This Location's price;tags:[This Location's tags:each item:joined with ,];badge:This Location's badge;work_days:[This Location's work_days:each item:joined with ,];work_hours:This Location's work_hours;time_zone:This Location's time_zone}

Delimiter: ,

Adjust field names like This Location's ... to match your actual Data Type fields in Bubble.


Marker Data Formatting Rules

  • lat + lng required — markers without coordinates are silently ignored

  • No quotestitle:My Cafe, NOT title:"My Cafe"

  • No ; in values — semicolon is the field delimiter; use commas instead

  • : in values is OK — only the first : separates key from value, so work_hours:08:00-22:00 works perfectly

  • Arrays[item1,item2,item3] with no spaces after commas

  • Field order doesn’t matter

  • Unknown fields are silently ignored

  • id must be unique — auto-generated as m_0, m_1… if missing

  • URLs with query params workimg:https://example.com/photo.jpg?w=600&h=400


Try GoMap! — Bubble Map Plugin Demo

:point_right: Live Demo — see the Bubble map plugin in action with real markers

:point_right: Open in Bubble Editor — inspect the DB structure for markers, see how the marker data string is formatted, explore workflows and exposed states. Everything is there — just click around in the editor.

:point_right: Install GoMap! — $35/month, no API keys, no usage limits

Perfect for: store locators, directory apps, real estate listings, delivery platforms, travel apps, event maps, service marketplaces, restaurant finders — any Bubble app that needs an interactive map with markers.

Questions? Drop them below — happy to help! :rocket:

:high_voltage: Workflow Actions Geocode and Reverse geocode are built in! No need to use paid external api! Unlimited use!

  • Geocode — address → lat/lng (returned values, usable in next Bubble workflow steps)

  • Reverse Geocode — lat/lng → address, city, region, country