Title: Smjrifle Interactive Maps with Google Maps and Leaflet
Author: smjrifle
Published: <strong>April 13, 2026</strong>
Last modified: April 13, 2026

---

Search plugins

![](https://ps.w.org/smjrifle-interactive-maps/assets/banner-772x250.png?rev=3505513)

![](https://ps.w.org/smjrifle-interactive-maps/assets/icon-256x256.png?rev=3505513)

# Smjrifle Interactive Maps with Google Maps and Leaflet

 By [smjrifle](https://profiles.wordpress.org/smjrifle/)

[Download](https://downloads.wordpress.org/plugin/smjrifle-interactive-maps.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/smjrifle-interactive-maps/#description)
 * [Reviews](https://wordpress.org/plugins/smjrifle-interactive-maps/#reviews)
 *  [Installation](https://wordpress.org/plugins/smjrifle-interactive-maps/#installation)
 * [Development](https://wordpress.org/plugins/smjrifle-interactive-maps/#developers)

 [Support](https://wordpress.org/support/plugin/smjrifle-interactive-maps/)

## Description

Smjrifle Interactive Maps with Google Maps and Leaflet brings powerful, customizable
mapping functionality to WordPress with:

 * **Dual Engine Support**: Google Maps or Leaflet (OpenStreetMap) fallback
 * **Marker Clustering**: Group nearby markers at lower zoom levels
 * **Custom Markers**: Use your own marker icons per location
 * **Snazzy Maps**: 8+ preset map styles + custom JSON support
 * **Location Search**: Built-in Autocomplete and Geocoding
 * **Location Cards**: Display list of locations with grid layout
 * **Popups**: Rich HTML popups with images, descriptions, and links
 * **Lazy Loading**: Intersection Observer for performance
 * **Shortcode**: [smjrgoma_map id=”123″] for easy embeds
 * **Per-Map Settings**: Zoom, type, center, height, colors individually

### Getting Started

 1. **Create a Map Post**: Go to WordPress admin > Smjrifle Interactive Maps with Google
    Maps and Leaflet > Add New Map
 2. **Search & Add Locations**: Use the search bar or click the map to place pins
 3. **Configure**: Set zoom, map type, height, colors in the Settings tab
 4. **Style**: Apply Snazzy Maps presets or custom JSON in the Style tab
 5. **Publish**: Save the map and get your shortcode
 6. **Embed**: Use [smjrgoma_map id=”123″] on any page/post

### Admin Features

 * **Map Editor**: Visual map for editing pins with drag-and-drop
 * **Location Manager**: Edit title, image, description, and settings per marker
 * **Auto Geocoding**: Click map to auto-fill address via Geocoding API
 * **Location Search**: Autocomplete search to add locations instantly
 * **Snazzy Styles**: Preset styles + custom JSON support
 * **Global Settings**: Default marker icon, clustering, scroll behavior, lazy loading

### Frontend Features

 * **Responsive Maps**: Mobile-friendly with touch support
 * **Location Cards**: Grid display of all locations with images
 * **Interactive**: Click card to pan/zoom map and open popup
 * **Lazy Loading**: Maps load only when visible (default on)
 * **Clustering**: Markers group into clusters until you zoom in
 * **Popup Rich Content**: Images, descriptions, links in marker popups
 * **Fallback Engine**: Auto-switches to Leaflet if Google API unavailable

### API Requirements

To use Google Maps, you need a Google API key with these APIs enabled:

 * Google Maps JavaScript API
 * Places API (for location search)
 * Geocoding API (for address lookup)

Leaflet fallback requires no API key and uses OpenStreetMap tiles.

### External Services

This plugin uses external services to provide map functionality.

Google Maps JavaScript API

 * Used when a Google Maps API key is provided
 * Loads scripts and map data from: https://maps.googleapis.com/
 * Used for rendering maps, markers, clustering, autocomplete search, and geocoding
 * Data sent: User-entered location queries (for search/geocoding)
 * Privacy Policy: https://policies.google.com/privacy

OpenStreetMap (Leaflet fallback)

 * Used when no Google Maps API key is provided
 * Map tiles are loaded from OpenStreetMap servers
 * Used for rendering maps and markers
 * Data sent: Map tile requests based on user viewport
 * Privacy Policy: https://wiki.osmfoundation.org/wiki/Privacy_Policy

### Security

 * **Nonce Verification**: All AJAX requests validated
 * **Capability Checks**: Only authorized users can manage maps
 * **Input Sanitization**: All user input sanitized per WordPress standards
 * **Output Escaping**: All output properly escaped (`esc_html`, `esc_attr`, `esc_url`,`
   wp_kses_post`)
 * **Database Safety**: Uses WordPress APIs for data storage

### Settings

 * **Map Engine**: Auto (Google if API key, else Leaflet), Google, or Leaflet
 * **Marker Icon**: Global default marker PNG/SVG URL
 * **Clustering**: Toggle marker clustering globally
 * **Cluster Style**: Default, Modern, or Minimal (Google Maps)
 * **Scroll Zoom**: Enable/disable scroll wheel zoom
 * **Lazy Loading**: Load maps only when visible

### Shortcode

    ```
    [smjrgoma_map id="123" height="500" zoom="14" class="custom-class"]
    ```

 * **id** (required): Post ID of the map
 * **height** (optional): Map height in pixels (default: post setting)
 * **zoom** (optional): Default zoom level (default: post setting)
 * **class** (optional): CSS class for wrapper div

## Screenshots

 * [[
 * Admin Panel to search location and add pins with details
 * [[
 * Admin edit pin details
 * [[
 * Admin Settings with map engine selection and API key
 * [[
 * Frontend Map with location cards and clustering
 * [[
 * Frontend Map with pin popup

## Installation

 1. Upload the plugin directory to `/wp-content/plugins/`
 2. Activate the plugin via the WordPress admin panel
 3. Go to Smjrifle Interactive Maps with Google Maps and Leaflet > Settings
 4. (Optional) Add your Google Maps API key
 5. Create a map post and add locations

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Smjrifle Interactive Maps with Google Maps and Leaflet” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ smjrifle ](https://profiles.wordpress.org/smjrifle/)

[Translate “Smjrifle Interactive Maps with Google Maps and Leaflet” into your language.](https://translate.wordpress.org/projects/wp-plugins/smjrifle-interactive-maps)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/smjrifle-interactive-maps/),
check out the [SVN repository](https://plugins.svn.wordpress.org/smjrifle-interactive-maps/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/smjrifle-interactive-maps/)
by [RSS](https://plugins.trac.wordpress.org/log/smjrifle-interactive-maps/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release
 * Google Maps engine with clustering and custom markers
 * Leaflet fallback with OpenStreetMap tiles
 * Dual engine support with auto-detection
 * Snazzy Maps presets + custom JSON
 * Location search with Autocomplete and Geocoding
 * Rich popups with images, descriptions, links
 * Location card list with grid layout
 * Global settings + per-map settings
 * Lazy loading with Intersection Observer
 * Shortcode support
 * Full admin map editor with drag-and-drop
 * AJAX-based location management
 * Proper WordPress security practices

## Meta

 *  Version **1.0.0**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [Google Maps](https://wordpress.org/plugins/tags/google-maps/)[leaflet](https://wordpress.org/plugins/tags/leaflet/)
   [maps](https://wordpress.org/plugins/tags/maps/)[markers](https://wordpress.org/plugins/tags/markers/)
   [shortcode](https://wordpress.org/plugins/tags/shortcode/)
 *  [Advanced View](https://wordpress.org/plugins/smjrifle-interactive-maps/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/smjrifle-interactive-maps/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/smjrifle-interactive-maps/reviews/)

## Contributors

 *   [ smjrifle ](https://profiles.wordpress.org/smjrifle/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/smjrifle-interactive-maps/)