Smart Local Google Maps
Introduction
GDPR-compliant cookie consent for Google Maps on Joomla — holds back every map until visitors agree, shows a click-to-load placeholder in its place, and builds consent-ready maps from an address with a {smartmap} shortcode.
Smart Local Google Maps removes Google Maps from your pages until the visitor consents. No map tiles load, no Google cookies are set and no request reaches Google until someone clicks Load Google Maps — and declining is just as easy as accepting.
21 built-in patterns find Google Maps iframes, the Maps JavaScript API and the map output of 13 Joomla extensions, including Widgetkit, YOOtheme Pro, SP Page Builder, Phoca Maps, JEM and Event Booking. Show the consent box in one of 5 positions, including an inline placeholder in the exact spot of each map. Need a map without embed code? Type {smartmap address="..."} and get a consent-ready map, keyless or through the Google Maps Embed API.
🎯 Use cases
- 🇪🇺 Sites with EU visitors — show maps under GDPR, with consent collected before anything is sent to Google.
- 📍 Contact and location pages — swap the map for a click-to-load placeholder right where it belongs.
- 🧩 Maps from other extensions — page builders, event and directory extensions keep working; their maps are simply held back until consent.
- ✍️ Editors without embed code — add a map to an article or Custom module with one line of shortcode.
- 🏢 Agencies handing over sites — ship a compliant map setup the client can restyle themselves, with no per-site SaaS fee.
- 🌍 Global audiences — ask only visitors from the EU, EEA and UK, and load maps directly for everyone else.
💡 Benefits
- 🔒 Compliant by default — the HTML that reaches the browser contains no map code until the visitor agrees.
- 🏠 No third-party consent service — detection, consent and geo-detection all run on your own server.
- 📍 Keeps the page layout — the inline placeholder sits where the map was, sized to fit.
- 🎨 Looks like your site — 5 themes with dark variants, 5 positions, 4 animations and custom colours.
- ♿ Usable by everyone — WCAG 2.1 AA: keyboard navigation, ARIA dialog semantics and reduced-motion support.
- 🔧 No code required — install, enable, done; every option lives in the Joomla admin.
- 🆓 Open source & upgrade-safe — GPL v2 or later, delivered through Joomla's native update channel.
🧩 Features
🍪 Cookie Consent
Consent collection with safe defaults and no third-party consent service.
- Accept & decline dialog — clear, honest choices, with the close button counting as a decline
- Configurable cookie lifetime — session-based, or persistent from 1 to 365 days
- Site-wide decision — one choice covers every page of the site
- Privacy policy link — select any Joomla menu item as your privacy page
- Secure cookies & CSRF protection — HttpOnly, Secure and SameSite=Lax flags, and Joomla's form token on every submission
🗺️ Map Detection
Catches Google Maps wherever it comes from in your pages.
- 21 built-in patterns — Google Maps iframes, Maps API script tags and extension-specific markup
- 13 named Joomla extensions — Widgetkit, YOOtheme Pro, Gantry, SP Page Builder, Phoca Maps, JCal Pro, JEM, Event Booking and more
- Custom regex pattern — add your own pattern for widgets the built-ins miss; a broken pattern never breaks the page
- Debug mode — lists the patterns that matched on a page, visible only to logged-in Super Users
- Non-destructive — maps are removed from the page output only; your content is never modified
📍 {smartmap} Shortcode
Create consent-ready maps without embed code.
- Map from an address — {smartmap address="..."} or a latitude/longitude pair, anywhere content is rendered
- Keyless or Embed API — works with no setup, or uses your Google Maps Embed API key
- Per-map options — zoom, map type, width, height, caption and a "Get directions" link
- Consent-wrapped by design — a click-to-load placeholder before consent, the map after
- Edit-safe — not expanded in the page head, form fields, attributes or front-end edit forms
🎨 Design & Themes
A consent box that fits your brand, not the other way round.
- 5 positions including inline — centre modal, full-width bottom bar, bottom-right, bottom-left, or an inline placeholder in place of each map
- 5 colour themes — Clean, Midnight, Forest, Slate and Warm, each with a tailored dark palette
- Custom colours — background, text and button colours for light and dark mode, applied to the box and every placeholder
- 4 animations — fade in down, up, left or right for the floating positions
- Custom headline, text & icon — override the defaults without editing language files
🌙 Dark Mode
Automatic or forced dark mode across every theme.
- Auto detection — follows the visitor's OS or browser preference via prefers-color-scheme
- Force mode — always light or always dark, whatever the visitor's setting
- Custom dark palette — separate dark colours when using custom colours
🌍 Geo-Detection
Show consent where it is required, with no external lookup.
- Language-based detection — reads the browser Accept-Language header, with no IP geolocation and no third-party APIs
- EU, EEA & UK coverage — the EU languages, Norwegian, Icelandic, and UK/Ireland English
- 3 behaviours for other visitors — auto-agree, show the consent box, or skip the plugin entirely
- Region toggles — enable the EU, EEA and UK regions independently
- Safe default — visitors with no language header always see the consent box
♿ Accessibility
WCAG 2.1 AA for every visitor.
- Keyboard navigation — Tab, Shift+Tab, Enter and Space; Escape moves focus to the close button
- Focus where it belongs — the centre modal keeps focus inside the dialog; bar and corner boxes leave the page usable
- Screen reader support — ARIA dialog role, labels and a live region
- Reduced motion — respects prefers-reduced-motion
🛠️ Developer
Modern Joomla architecture with no deprecated APIs.
- Namespace-based plugin — SubscriberInterface event registration and DI through services/provider.php
- WebAssetManager — CSS and JS loaded through the joomla.asset.json registry
- Multilingual — 23 languages included; add any other with standard .ini files
- Joomla 4.4, 5 & 6 — one package for all three, PHP 8.1 or higher
🔗 Resources
📚Documentation - https://nextsoftware.dev/documentation/smart-local-google-maps
🛒Product page - https://nextsoftware.dev/joomla-extensions/smart-local-google-maps
🖥️Live demo - https://demo.nextsoftware.dev/demo-plugins/smart-local-google-maps
Smart Local Google Maps
- Version:
- 6.0.0
- Developer:
- NextSoftware Team
- Last updated:
-
Nov 10 2026
19 hours ago - Date added:
- Nov 09 2026
- License:
- GPLv2 or later
- Type:
- Paid download
- Includes:
- p
- Compatibility:
- J4 J5 J6
Share