Code

Rocket Maps plugin for WordPress

Rocket Maps plugin for WordPress

Recently Updated

Rocket Maps — Searchable Maps, Store Locator & Listings Directory for WordPress

Rocket Maps lets you build fast, fully searchable maps for WordPress and drop them onto any page with a simple shortcode. Choose your map engine — Google Maps, Mapbox or MapLibre — add markers, turn them into a filterable listings directory, and let visitors search by keyword, category, location or distance. Everything — admin panels, search forms, marker editors, CSV tools — runs on a modern React UI with no page reloads.

Live demo: maps.salephpscripts.com

Three Map Engines, One Plugin

Pick the engine that fits your project — or let visitors switch on the fly.

  • Google Maps — the classic choice with Places address autocomplete, Street View, Map/Satellite toggle, rotate/tilt control and directions.
  • Mapbox GL JS — crisp vector tiles, smooth rotation and zoom, and a library of polished built-in styles (Streets, Outdoors, Light, Dark, Satellite Streets and more).
  • MapLibre GL + MapTiler — fully open-source rendering backed by open tiles; no vendor lock-in.

Switch engines in Settings at any time. All markers, listings, categories and search forms stay exactly where they are — only the tile layer changes.

20+ Built-in Map Styles

Every engine ships with a curated set of ready-to-use styles, selectable from a dropdown — no code or JSON required. Google Maps, Mapbox and MapLibre each have their own palette ranging from clean minimal to dark, satellite and terrain.

Markers & Marker Clustering

  • Font Awesome icon markers — choose any FA icon and a custom colour per category or per individual marker.
  • PNG / custom image markers — upload your own marker graphic; resize with the size slider (30–70 px).
  • Image markers — use the listing’s featured photo directly as the map pin.
  • Price markers — display the listing price badge right on the pin; ideal for real estate and classifieds.
  • Per-category icons — React-powered icon/colour picker on the category edit screen; every category can have its own distinct look.
  • Marker clustering — nearby markers merge into a numbered cluster bubble; configurable grid size and multi-level cluster styles keep busy maps clean and fast.
  • Drag-and-drop source priority — choose which marker property appears first (icon, image, price) with a simple React list editor.
  • Streaming batch loading — markers load in 5 000-row batches over the REST API so even maps with thousands of points open instantly; subsequent batches arrive in the background while the visitor is already panning.

Drag-and-Drop Search Form Builder

A visual React form builder lets you compose the search form field by field — no code needed.

  • Keyword search — powered by a MySQL FULLTEXT index over title, description and all custom field values. Results are ranked by relevance; a debounced autocomplete dropdown suggests matches as visitors type.
  • Address + radius search — “show everything within 25 km of me” with km/miles toggle. A radius circle appears on the map to show the search area.
  • Category filter — hierarchical taxonomy dropdown or checkbox tree.
  • Location filter — filter by any location term in the Locations taxonomy.
  • Custom field filters — price range slider, list/select/checkbox, date range, opening hours availability and more — every field from your form template can become a search filter.
  • “More Filters” separator — hide secondary filters behind a collapsible section to keep the default form tidy.
  • Four anchor positions — top-left, top-right, bottom-left, bottom-right; falls back above/below the map on narrow viewports.
  • Draggable form — a grip handle lets visitors reposition the form anywhere on the map; the position is remembered per browser.
  • Configurable width — set the pixel width on desktop.
  • Live results — sidebar listings and map markers update instantly as visitors interact with any filter.

Listings Sidebar & List View

  • Collapsible sidebar — left or right, configurable width, open or collapsed by default.
  • Listings per page — paginate results; set exactly how many cards appear per page.
  • Sort listings — by date, title, price, rating, custom field value, or a random shuffle; choose ascending or descending.
  • Fly-to on hover — when a visitor hovers a sidebar card the map smoothly pans and zooms to that marker.
  • Marker hover effect — the corresponding map marker highlights when the sidebar card is hovered.
  • Configurable sidebar fields — drag-and-drop which custom fields appear on each card.
  • List below map — display a full listings grid underneath the map canvas instead of (or alongside) the sidebar.
  • Listing detail page — each marker links to a full single-listing page showing all fields, a contact form and directions.

Marker Popups

  • Click any marker to open a rich information popup.
  • Auto-popup — automatically open the popup of the nearest / most relevant marker on page load.
  • Configurable max width and height; closes on outside click (optional).
  • Configurable popup fields — choose exactly which custom fields appear in the popup card.
  • Directions link — one-click “Get directions” opens the native map app or Google Maps with the listing as the destination.

Custom Fields & Visual Form Builder

A drag-and-drop React form builder lets you design the listing submission form without touching code. Fields are shared across the submission form, sidebar cards, popups and search filters.

  • Text — single-line text input.
  • Textarea — multi-line rich description.
  • Number — numeric value with optional min/max.
  • Price — currency-formatted price; used in price markers and price-range search filters.
  • URL / Website — clickable link field.
  • Email — mailto link on the detail page.
  • Phone — tel: link on the detail page.
  • Image — photo upload directly from the submission form.
  • File — attachment upload (PDF, etc.).
  • List / Select / Radio / Checkbox — predefined option sets; multi-select supported.
  • Date & Time — datetime picker with formatting options.
  • Opening Hours — structured weekly schedule editor; visitors can filter by “open now”.
  • Field Groups — organise fields into labelled sections on the submission form.

Frontend Submission & User Dashboard

Let your visitors add and manage their own listings entirely from the frontend — no WordPress admin access needed.

  • [webmap-submit] shortcode — drop a fully-featured listing submission form on any page.
  • [webmap-dashboard] shortcode — personal dashboard where logged-in users view, edit and delete their own listings, check expiration dates and renew.
  • User registration & login — built-in auth forms on the dashboard page; redirect to the dashboard after login.
  • Anonymous submissions — optionally allow guests to submit without registering.
  • Moderation — hold new submissions for admin review before they appear on the map.
  • Listing expiration — set active periods in days, months or years; or make listings permanent.
  • One-click renewal — an expired listing can be renewed by the owner with a single button.
  • User-controlled expiration — optionally let owners adjust their own expiration date.
  • Listing status badges — Active, Expired, Unpaid, Stopped — always visible to the owner.
  • Audit log — an append-only history of every lifecycle event (created, activated, expired, renewed, status changed) is stored per listing and visible to admins.

Email Notifications

  • Admin notification — email alert whenever a new listing is submitted.
  • Activation email — sent to the listing owner when a listing goes live.
  • Pre-expiration reminder — configurable number of days before expiry; prompts owners to renew.
  • Expiration notification — sent when a listing expires.
  • All email templates are fully customisable in Settings.
  • Built-in email delivery test tool to confirm your server is sending correctly.

Contact Form

  • Built-in contact form on every listing detail page — visitors can message the listing owner without revealing the owner’s email address.
  • Contact Form 7 integration — paste a CF7 shortcode to replace the built-in form with your own.
  • Optionally restrict the contact form to logged-in users only.
  • Google reCAPTCHA v2 and v3 — anti-spam protection on both the contact form and submission form; version and keys configured in Settings with a built-in test tool.

Categories, Tags & Locations

  • Hierarchical categories — create nested category trees; each category gets its own marker icon and colour via a React picker.
  • Tags — flat tagging taxonomy for flexible cross-category grouping.
  • Locations taxonomy — separate hierarchy for geographic regions (e.g. Country → State → City) used in the location filter and address display.
  • Categories, tags and location terms are all full-text-indexed so keyword search spans taxonomy names automatically.

Address & Geocoding

  • Google Places autocomplete on every address field — starts geocoding as soon as the visitor types.
  • “Get my location” button — one-click GPS geolocation fills the address field automatically.
  • Manual coordinate override — pin a location on the mini-preview map when the address isn’t enough.
  • Configurable address format — drag-and-drop token builder (Address Line 1, Address Line 2, City, ZIP, Country) controls exactly how addresses are displayed in cards, popups and the detail page.
  • Country restriction — lock address autocomplete to a single country for regional directories.

CSV Import & Export

  • Full CSV import — upload a CSV to bulk-create or update listings; processing runs in chunked REST API batches so large files don’t time out.
  • Image import — attach photos from URLs or local paths during import; duplicate detection prevents re-importing the same file.
  • Geocoding during import — addresses are geocoded automatically as rows are processed.
  • Opening hours import — structured weekly schedule data is parsed from CSV and stored correctly.
  • Session-based progress — a live progress bar shows import status; sessions are resumable if the browser is closed.
  • CSV export — export all listings (with images as URLs) to a CSV for backup or migration.
  • Demo content import — one-click import of pre-built maps, pages and form templates bundled with the plugin.

Map Configuration Panel

Every map has its own dedicated settings panel with eight organised metaboxes:

  • General — map width, height (pixels or %), listings limit, sticky scroll (map stays on screen while the page scrolls), loading spinner, auto-geolocation.
  • Starting Point — set a fixed camera position and zoom, or auto-fit the viewport to show all markers; configurable radius filter with visual circle; save-and-follow (browser storage or URL).
  • Map Style — choose from all built-in presets for the active engine.
  • Controls — toggle fullscreen button, camera/rotate control, Map/Satellite switcher, Street View pegman, mouse-wheel zoom, touch dragging (one- and two-finger), center-on-click, zoom-on-click, locations counter (configurable text), min/max zoom bounds.
  • Search Form — drag-and-drop React builder, position, width, drag-handle toggle.
  • Markers — drag-and-drop source priority list; FA/PNG size slider; advanced per-engine rendering tweaks.
  • Clusters — enable/disable, grid size, multi-level cluster styles.
  • Popups — enable, auto-open, close-on-click-outside, max width/height, field selector.
  • Sidebar & Listings — enable, position, width/height, open-by-default, per-page count, sort order, fly-to/hover effect, field selector.

Colour Customisation

  • Global colour palette in Settings covers: primary colour, secondary colour, link colour, link hover colour, button primary/secondary/text colours.
  • Optional gradient on buttons for a more polished look.
  • All colours are applied via CSS custom properties — they cascade through every frontend component automatically.

Shortcodes

  • [webmap id=”N”] — embed any map by post ID or slug; accepts width, height, geolocation and other per-embed overrides.
  • [webmap-submit] — frontend listing submission form with auth, reCAPTCHA and file upload.
  • [webmap-dashboard] — user’s personal listings manager (list, edit, delete, renew, check expiry).
  • [rmaps-engine-switcher] — inline switcher widget to let visitors toggle between Google, Mapbox and MapLibre on any page.

Performance Architecture

  • REST API backend — every frontend operation (search, marker load, popup data, listing CRUD) goes through a clean versioned REST API; no legacy AJAX handlers.
  • Streaming batch loader — initial config payload carries the first batch; the React map requests additional 5 000-marker batches in the background without blocking interaction.
  • Info-batch endpoint — full popup payloads for multiple markers are fetched in a single request when a cluster is opened, not one-by-one.
  • FULLTEXT search index — a dedicated wp_rmaps_search_index table with a MySQL FULLTEXT index powers relevance-ranked keyword search without scanning postmeta.
  • React frontend — the map, sidebar, search form and all admin panels are built with React; DOM updates are minimal and efficient.

Setup Wizard & Migration

  • Step-by-step install wizard — on first activation a guided 4-step wizard walks through engine selection, API key entry, first map creation and demo import.
  • One-click demo import — import a fully-configured demo map, its WordPress page and form template in seconds.
  • Migration from Web 2.0 Google Maps — a dedicated one-shot migration path upgrades all markers, categories, listings, custom fields, settings and saved options from the legacy plugin without data loss.
  • Diagnostics page — built-in tools to test API keys, reCAPTCHA configuration, email delivery and the search index.

Translation & Compatibility

  • Translation-ready — ships a complete .pot file; every user-facing string passes through gettext; load your .mo file and the whole plugin is instantly localised.
  • WPML compatible — language-dependent IDs are resolved through the WPML and Polylang filters so multilingual sites work out of the box.
  • Fully responsive — the map, sidebar, search form and dashboard all reflow gracefully on phones and tablets.
  • WordPress 6.0+ and PHP 7.4+.

What’s Included

  • Rocket Maps plugin (all features above).
  • Companion rmaps-theme — a clean, dark/light WordPress theme pre-wired to the plugin (engine switcher in the header, Buy-plugin CTA, feature grid on the front page); ready to use as a demo site or starting point.
  • Demo content JSON (maps, pages, form template) importable in one click.
  • Full documentation site bundled with the plugin.
  • 6 months of item support.

Requirements

  • WordPress 6.0 or higher.
  • PHP 7.4 or higher.
  • An API key from your chosen map provider:
    Google Maps: browser key (required) + server key (optional, for server-side geocoding).
    Mapbox: Mapbox access token.
    MapLibre + MapTiler: MapTiler API key.
    Keys are stored on your server only and are never sent to us.
by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey