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.
Changelog = 1.1.0 =
  • New: 10 Google Maps and 10 MapLibre map style presets (colourful to dark).
  • New: branded rocket marker icon and a matching map starting-point marker.
  • Improve: faster marker loading on maps that use a listings limit.
  • Fix: list / select / checkbox field values not showing in listings, popups and search.
  • Fix: duplicated markers and gallery images on some listings.
  • Fix: MapLibre style switching in the map editor’s live preview.
  • Fix: search-form fade animation and minor UI polish.
= 1.0.0 =
  • Initial CodeCanyon release.
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