Skip to content

Google Map widget shows "This page can't load Google Maps correctly" / "For development purposes only" watermark despite valid, billed, unrestricted API key (reproducible on a blank project - no project access needed to investigate) #7314

Description

@taimoork89-maker

Can we access your project?

  • I give permission for members of the FlutterFlow team to access and test my project for the sole purpose of investigating this issue.

Current Behavior

Summary:
Google Map widgets across multiple pages (CreateRequest, DeliveryDetails, MainDashboard, Onboarding, RouteFinder) display Google's "This page can't load Google Maps correctly" error dialog on load. Dismissing the dialog reveals an interactive map (pan/zoom work, real place names like "Microsoft" and "Moffett Field Museum" render), but the map is overlaid with a diagonal "For development purposes only" watermark - the signal Google uses when a valid billing-enabled API key is not being recognized by the request.

What I've already verified (so support can skip these):

  1. Confirmed the Google Cloud project referenced by the API keys is the same one linked to the FlutterFlow project (matched via the FlutterFlow project's backend URL against the Google Cloud project ID).
  2. Billing is active on that Google Cloud project, linked via Billing > Your Projects.
  3. Maps SDK for Android, Maps SDK for iOS, and Maps JavaScript API are all enabled and show "API Enabled" in the Cloud Console.
  4. The Android/iOS/Web API keys entered in FlutterFlow's App Settings > Integrations > Maps exactly match the corresponding keys in Google Cloud Credentials (verified first several characters of each).
  5. The Browser key's "Application restrictions" is set to "None" (not limited to specific websites/domains), so it isn't a referrer-restriction issue.
  6. The Browser key's API restrictions include Maps JavaScript API, Maps SDK for Android, Maps SDK for iOS, and Places API.
  7. Checked the GoogleMap widget's own Properties panel in the FlutterFlow builder - there is no per-widget API key override field, confirming it should be using the project-wide key automatically.
  8. Hard-refreshed the preview and confirmed no stray characters/whitespace in the API key fields.

Expected Behavior

Please check whether the API key being sent by the Map widget at runtime matches what's configured in App Settings > Integrations > Maps, and whether there's a known issue with key propagation to the Maps JS/SDK initialization.

Map should load cleanly using the project's configured, billed API key, with no error dialog and no development watermark.

Steps to Reproduce

Steps to reproduce (from a blank project - no access to my project needed):

  1. Create a new blank FlutterFlow project.
  2. Add a Firebase/Supabase backend (or use FlutterFlow's default) so Maps can be auto-configured, OR manually go to App Settings > Integrations > Maps and enter Android/iOS/Web API keys for a Google Cloud project you control.
  3. In that Google Cloud project, confirm: billing is active and linked to this specific project; Maps SDK for Android, Maps SDK for iOS, and Maps JavaScript API are all enabled; the API key(s) have "Application restrictions" set to None (or correctly scoped) and include those three APIs under "API restrictions."
  4. Add a single page to the blank project.
  5. Drag a Google Map widget onto that page (default settings are fine - no custom API key field is exposed on the widget itself).
  6. Run the app in Test Mode / Preview.
  7. Observe: "This page can't load Google Maps correctly" dialog appears on load.
  8. Dismiss the dialog - the map becomes interactive (pan/zoom work, real place names render) but is overlaid with a diagonal "For development purposes only" watermark, Google's signal for a billing-enabled key not being recognized at request time.

This reproduces on a fresh project with valid, verified Google Cloud configuration, so I don't believe project-specific access is needed to investigate - happy to provide additional details (e.g., project ID, screenshots, HAR file) if useful, but would prefer not to grant direct collaborator access to my project if avoidable.

Reproducible from Blank

  • The steps to reproduce above start from a blank project.

Bug Report Code (Required)

ITFfzPLq4ot2vsdG176ILcdvo2URNVscTZBMiuxvGAwgF5vkBqQPPOPEaXdWTNeEdH5cBme0pEEx0smMieHfO/UoZDaCG4d607hqcBb/WmKWb6a6Ds+OZGhQPJpXIUzF0rWvvgpCVftZSHAAw3GPcq3qNleeY8aSfxBlZ7vfcPo=

Visual documentation

Image

Environment

- FlutterFlow version: 3.38.6
- Platform: Web, MacOS Desktop): Web
- Browser name and version: Chrome Version 150.0.7871.125 (Official Build) (arm64)
- Operating system and version affected: Tahoe 26.5.2

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: needs triageA potential issue that has not been confirmed as a bug.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions