Next DB 6.1: Auto-Updating Tables, Printing, Phone Layout and SEO Next Task 6.0.0: a task manager for Joomla Next Inventory 6.1.1: smoother Check Out, no more list limits, and much faster PHP2Shell: Is Your Joomla Site Safe? What to Do Today Introducing Next Boards: Kanban project and task boards for Joomla Building the Future of Joomla Extensions
NextSoftware

Google Maps

Smart Local Google Maps exists to put a consent gate in front of one specific third party: Google Maps. This page explains what data a Maps embed transmits, what the plugin blocks, and how the {smartmap} shortcode stays compliant.

A Google Maps embed is not a static image — it is an iframe or script that loads content directly from Google's servers. The moment it renders in the browser, before the visitor interacts with it:

  • Google receives the visitor's IP address
  • Google may set cookies
  • Requests are made to Google domains (maps.googleapis.com, maps.google.com, google.com/maps, tile servers, and others)

Under the GDPR and the German DSGVO, this is processing of personal data and usually a transfer to a third country (the US). Data protection authorities and courts generally expect the visitor's prior consent for it. Embedding a map without that consent is the exposure this plugin removes. This page is not legal advice.

Until the visitor accepts, the plugin strips all detected Google Maps code from the server-rendered HTML — iframes, the Maps API script, and component/page-builder markup. The browser never receives the embed, so no tile request reaches Google and no cookie is set. See How Consent Works.

The {smartmap} Shortcode and Google

The {smartmap} shortcode builds a Google Maps embed URL in one of two forms:

  • Keyless (default) — maps.google.com/maps?...&output=embed, no Google Cloud account required
  • Embed API — www.google.com/maps/embed/v1/place when you choose Google Maps Embed API (API key) as the Embed Method and enter a key

In both cases the map loads from Google only after consent. The embed method changes how the URL is built (the Embed API is the supported route for production volume), not when the map is requested. The /place Embed API endpoint supports only roadmap and satellite types, so the plugin maps terrain → roadmap and hybrid → satellite in that mode.

See The {smartmap} Shortcode for full usage.

A Note on API Keys

The API key is optional and only used by the shortcode. Detection and blocking of existing maps work with no key at all. If you do use a key:

  • Restrict it (by HTTP referrer) in the Google Cloud console
  • Enable only the Maps Embed API for it
  • Keep in mind the key is included in the iframe URL, which is normal for the Embed API

Compliance Checklist

  • Plugin enabled and detecting your embeds (verify with Debug Mode)
  • Privacy policy menu item linked in the Content tab
  • Consent text mentions that accepting loads a map from Google and transmits data to Google
  • Caching configured so cached pages don't serve map code to non-consented visitors
  • If using the shortcode with an API key: key restricted to your domain and limited to the Maps Embed API

All Extensions