Services Plugins FAQs

🗺️ New Plugin Release: Google Map Bubble Mobile

Hey everyone :wave:

Been working on this for a while, and it’s finally out: Google Map for Bubble Mobile. It brings real, native Google Maps to your iOS & Android Bubble apps - markers, custom styling, live GPS, and full map control, all wired to your Bubble workflows.

ScreenRecording_06-23-20266-23-40PM_1-ezgif.com-optimize

:sparkles: Key features:

:world_map: True native maps. Built on the Google Maps JavaScript API - smooth rendering, familiar gestures, and the performance your users actually expect.

:round_pushpin: Full map control from workflows. Drop markers from your Bubble data with custom IDs and titles, pan/zoom/fit the camera around your data, and clear everything with a single Reset Map call — all from Bubble actions, zero code required.

:artificial_satellite: Real-time GPS & reactive states. Live location updates with current lat/long exposed as states, plus events for everything - Map Ready, Error Occurred, Location Updated, tapped coordinates, map center, permission status. Plug it into your UI, save to your DB, or trigger workflows on every move.

:art: Fully styleable. Roadmap, satellite, hybrid, terrain, custom JSON styles via Snazzymaps, Google Cloud Map ID, border radius, padding - tune it all right in the Bubble editor.

Great fit for delivery tracking, store locators, field service tools, real estate, travel apps - if there’s anything geographic in your app, this has you covered.

:point_right: Demo | Documentation

Questions, feature requests, help wiring it up - drop a comment or reach out. Would love to hear what you build with it! :rocket:

Best regards,
Egor S.
Support Team
Browse all Zeroqode Plugins for bubble
Banner_Last3

Hi Everyone

We are excited to share a major update to our Google Maps Bubble Mobile plugin. This release introduces a wide range of new features, enhanced functionality, and deeper integration capabilities for your mobile applications.

Below is a complete overview of what is included in this update:

New Element Fields

  • Enable Clustering (yes/no, default: no): Groups nearby markers into a single numbered cluster that breaks apart as you zoom in. Recommended for views with 50+ markers.

  • Cluster Radius (number, default: 100): Sets the pixel distance within which markers are grouped into a cluster. Higher values result in fewer, larger clusters.

  • Cluster Max Zoom (number, default: 16): Sets the zoom level above which clustering stops and individual markers are displayed.

  • Cluster Min Points (number, default: 2): Sets the minimum number of markers required to form a cluster.

  • Show Traffic Layer (yes/no, default: no): Displays real-time traffic conditions. Coverage depends on the country.

  • Show Transit Layer (yes/no, default: no): Displays public transit routes and stations. Coverage depends on the city.

  • Show Bicycling Layer (yes/no, default: no): Displays bike paths and bicycle-friendly routes. Coverage depends on the country.

Updates to Existing Fields

  • Map ID, Styles JSON, Disable Default UI: These previously declared fields are now fully functional and actively applied to the map.

  • API Key: Requirements have been expanded to cover additional Google Cloud services.

New States

Geocoding

  • Geocode Latitude (number)

  • Geocode Longitude (number)

  • Geocode Address (text)

  • Geocode Place ID (text) (Populated by both Geocode Address and Reverse Geocode actions)

Routes

  • Route Distance (m) (number): Total distance across all route segments.

  • Route Distance Text (text): Human-readable format (e.g., “12.4 km”).

  • Route Duration (s) (number): Total travel time across all route segments.

  • Route Duration Text (text): Human-readable format (e.g., “18 min”).

  • Route Polyline (text): Path in Google encoded polyline format, useful for saving or rendering elsewhere.

Distance Matrix

  • Matrix Result JSON (text): JSON array containing all origin/destination pairs with status, distance, and duration data.

  • Matrix Distance (m) (number): Distance for the first point pair (1:1 shortcut).

  • Matrix Duration (s) (number): Travel duration for the first point pair.

Layers

  • Last Layer ID (text): Stores the ID of the last successfully loaded layer. Useful when IDs are auto-generated.

New Events

  • Geocode Completed: Triggers when a Geocode Address or Reverse Geocode action returns a result.

  • Route Ready: Triggers when a route is calculated and Route states are populated.

  • Distance Matrix Ready: Triggers when the matrix calculation completes.

  • Layer Loaded: Triggers when a GeoJSON or KML layer is loaded and Last Layer ID is updated.

Note: If an error occurs during any of these actions, the existing Error Occurred event will trigger, and details will be populated in Error Message.

New Actions

Load GeoJSON Loads a GeoJSON dataset onto the map as a layer. Triggers Layer Loaded on success.

  • GeoJSON Source (text): Public URL or raw GeoJSON string. (Note: Coordinate order in GeoJSON is [longitude, latitude]).

  • Layer ID (text, optional): Custom ID to manage or replace layers. Auto-generated if left empty.

  • Fill Color (color, optional, default: blue): Polygon fill color.

  • Fill Opacity (number, optional, default: 0.35): Polygon fill transparency (0 to 1).

  • Stroke Color (color, optional, default: blue): Outline color for polygons and lines.

  • Stroke Width (number, optional, default: 2): Outline thickness in pixels.

  • Fit To Bounds (yes/no, default: yes): Adjusts the map view to fit the loaded layer.

Load KML Loads a KML or KMZ file as a layer. Triggers Layer Loaded on success.

  • KML URL (text): Public URL to the .kml or .kmz file. Must be publicly accessible on the web.

  • Layer ID (text, optional): Custom ID for layer management.

  • Fit To Bounds (yes/no, default: yes): Adjusts map bounds to fit the layer.

  • Suppress Info Windows (yes/no, default: no): Disables native Google popups on item taps.

Remove Layer Removes GeoJSON or KML layers from the map.

  • Layer ID (text, optional): ID of the layer to remove.

  • Remove All Layers (yes/no, default: no): Removes all loaded layers when set to yes.

Get Directions Calculates and draws a route on the map using the Google Directions API.

  • Origin / Destination (text): Text address or coordinates (“lat, lng”).

  • Waypoints (text, optional): Intermediate stops separated by “|”.

  • Travel Mode (dropdown, default: DRIVING): Options include DRIVING, WALKING, BICYCLING, and TRANSIT.

  • Optimize Waypoints (yes/no, default: no): Allows Google to reorder waypoints for the shortest route.

  • Show Route On Map (yes/no, default: yes): Set to no if you only need distance and duration states.

  • Suppress Default Markers (yes/no, default: no): Hides default A/B map markers.

  • Stroke Color (color, default: blue) & Stroke Width (number, default: 5): Customizes route line appearance.

  • Fit To Bounds (yes/no, default: yes): Adjusts map camera to fit the route.

Clear Directions Removes drawn routes from the map while preserving state values.

Geocode Address Converts an address or place name into coordinates using the Google Geocoding API.

  • Address (text): Location query.

  • Region Code (text, optional): Two-letter country code (e.g., “md”) to bias results.

  • Language Code (text, optional): Preferred language code for results.

Reverse Geocode Converts coordinates (Latitude and Longitude) back into a readable address.

Distance Matrix Calculates travel distance and duration between multiple origins and destinations separated by “|” using the Google Distance Matrix API.

For setup details, please refer to the official documentation: Google Maps Bubble Mobile

If you encounter any issues or need technical support, reach out to support@zeroqode.com or post directly on the Forum.

Best regards,
Support Team
Browse all Zeroqode Plugins for bubble
Banner_Last3