RP 4U (Maps & Route Planner)

Description

RP 4U (Maps & Route Planner) embeds interactive OpenStreetMap maps (powered by the bundled Leaflet library) into your WordPress site — a privacy-friendly alternative to Google Maps embeds.

Maps without any API key

Create as many maps as you like in the backend (center, marker, zoom, height) and embed each one with a simple shortcode. Plain maps work without any API key or account: addresses you enter in the backend are geocoded once at save time, so the visitor’s browser only loads the OpenStreetMap tiles — nothing else.

Every map with a destination offers a “Navigate here” QR code: visitors scan it and their phone starts the navigation from their current location in Google or Apple Maps.

Optional route planner

Add your own free OpenRouteService API key (see below) and each map can show a full route planner: address autocomplete while typing, route calculation for walking, cycling and driving (recommended / shortest / fastest), a turn-by-turn directions list and a “send route to phone” QR code.

Features

  • Unlimited maps, managed in the WordPress backend (custom post type)
  • Shortcode embedding: [routenplaner4u id="123"] — multiple maps per page supported
  • Fixed destination, pre-filled start, custom center (address or coordinates), zoom and height per map
  • Optional route planner per map (checkbox)
  • Address autocomplete, turn-by-turn directions with distances and durations
  • Map picker: right-click (long-press on touch) uses any point on the map as start or destination — ideal for targets without a street address; picked points get readable names via reverse geocoding
  • Colored, numbered pins mark start, stops and destination
  • Color settings: adjust the button colors with the WordPress color picker — no CSS needed
  • Backend address fields with autocomplete and one-click “use center address” buttons
  • QR code / deep links to open the route or destination in Google Maps or Apple Maps (generated locally, no external QR service)
  • All libraries (Leaflet, polyline decoder, QR generator) are bundled locally — no CDN calls
  • Translation-ready

External Services

This plugin can connect to the following external services. No data is sent anywhere without a map being embedded and used.

OpenStreetMap tile server (always, when a map is shown)
The map images (tiles) are loaded from tile.openstreetmap.org in the visitor’s browser. The tile server receives the visitor’s IP address and the map area being viewed. TermsPrivacy

Nominatim geocoding (openstreetmap.org)
Addresses entered in the backend are geocoded once at save time (server-side); the backend address autocomplete queries Nominatim while typing. If the route planner is enabled, addresses typed by visitors are geocoded in their browser and points picked on the map are reverse-geocoded to a readable name. Nominatim receives the address text or coordinates and the requesting IP. Usage policyPrivacy

OpenRouteService (openrouteservice.org, only with route planner enabled)
Route calculation and address autocomplete use the OpenRouteService API with the API key you configure. The service receives start/destination coordinates, typed address fragments and the requesting IP. TermsPrivacy

Google Maps / Apple Maps deep links (only on user click)
The QR codes and “open in…” links point to google.com/maps and maps.apple.com. Nothing is sent to these services unless the visitor actively scans the code or clicks the link.

Third-Party Libraries and Assets

This plugin bundles the following third-party open-source libraries and assets, all locally — no external requests:

Leaflet
– License: BSD-2-Clause
– Source: https://github.com/Leaflet/Leaflet
– Purpose: interactive OpenStreetMap map rendering
– Files: assets/libs/leaflet/ (see assets/libs/leaflet/LICENSE)

polyline (encoded polyline decoder)
– License: BSD-3-Clause
– Source: https://github.com/mapbox/polyline
– Purpose: decoding the route geometry returned by the routing service
– Files: assets/libs/polyline/ (see assets/libs/polyline/LICENSE)

QR code generator
– License: MIT
– Purpose: generating the “navigate here” / “send route to phone” QR codes locally
– Files: assets/libs/qrcode/ (see assets/libs/qrcode/LICENSE)

Twemoji (Twitter Emoji)
– License: CC-BY 4.0 (graphics)
– Source: https://github.com/twitter/twemoji
– Purpose: local SVG icons in the admin interface (GDPR-compliant, no external emoji/CDN requests)
– Files: assets/icons/ (Twemoji code-point files, e.g. 1f5fa.svg)

The location-pin icons (assets/icons/location_icon.svg, assets/icons/locations_icon.svg), the plugin icons (assets/icon-128×128.png, assets/icon-256×256.png) and the map placeholder image (assets/images/placeholder-map.jpg) are original artwork by the plugin author and are licensed as GPL together with the plugin.

Screenshots

Installation

  1. Upload the plugin files to /wp-content/plugins/, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Go to RP4U in the admin menu and create your first map.
  4. Embed it with the shortcode shown in the map settings, e.g. [routenplaner4u id="123"].
  5. Optional: for the route planner, create a free API key at openrouteservice.org and enter it under RP4U Settings.

FAQ

Do I need an API key?

Not for maps. Plain maps (center, marker, zoom, “navigate here” QR) work entirely without a key. Only the route planner (route calculation + address autocomplete) needs a free OpenRouteService key.

Can I show more than one map on a page?

Yes. Every shortcode instance is independent — different centers, destinations and settings.

Where do I get the OpenRouteService key?

Create a free account at account.heigit.org. The free tier currently includes 2,500 requests per day.

Is this GDPR-friendly?

The plugin loads all its libraries locally and uses no tracking. The map tiles are loaded from openstreetmap.org (see External Services); depending on your legal interpretation you may want to load the map behind a consent tool.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“RP 4U (Maps & Route Planner)” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.17

  • Added: the plugin icon is now bundled, so update notices show the product icon instead of the generic placeholder.

1.0.16

  • Updated the location pin artwork used for map markers (assets/icons/location_icon.svg, locations_icon.svg).

1.0.15

  • Documentation: the readme description and installation steps now use the current plugin name and the correct English admin menu labels (RP4U, RP4U Settings).

1.0.14

  • Display name extended to “RP 4U (Maps & Route Planner)” so the map embedding capability is visible in the plugin name.

1.0.13

  • Renamed to “RP 4U (Route Planner)” for the WordPress.org directory (new slug rp-4u-route-planner); functionality unchanged.
  • Fixed: updated the HeiGIT privacy policy link in the readme (the previous URL no longer exists).
  • Changed: translation files are no longer bundled — translations are delivered via translate.wordpress.org.

1.0.12

  • German translation: the keyless-mode notice in the map editor now uses the formal address (Sie) consistently with the surrounding backend texts.

1.0.11

  • Documentation: added the screenshot captions for the WordPress.org directory listing. No functional change.

1.0.10

  • Improved: the “Calculate route” button only appears once a calculation is actually possible (start and destination filled). Until then, maps with a fixed destination show just the “Navigate here (QR)” offer.

1.0.9

  • Changed: address autocomplete suggestions are now worldwide by default (previously limited to Germany, Austria and Switzerland). Site owners can narrow them with the new rp4u_ors_countries filter (comma-separated ISO country codes, e.g. DE,AT,CH).

1.0.8

  • Fixed: without an API key the destination field was locked in the map editor, so keyless maps could not get their marker (“pin”) or “Navigate here” QR code. The destination (incl. its map picker) is now always editable — only the actual route planner needs a key.
  • Fixed: turn-by-turn directions now follow the site language (28 languages via OpenRouteService) instead of always being German.
  • Improved: maps with a fixed destination now show the “Navigate here (QR)” button above the map even when the route planner form is present; it hides as soon as a start address is entered or a route is calculated.
  • Improved: while routing is unavailable (no API key), the routing checkboxes in the map editor no longer appear checked, and the notice explains what still works without a key.
  • Changed: the “Route planner” toggle now sits directly below the destination field in the map editor.
  • Fixed: the Documentation page now uses the full admin width like every other screen.

1.0.7

  • Improved: consistent branded admin design across every screen, including the map list and the map editor (branded header with icons, intro info boxes, card-style setting groups).
  • Improved: foreign admin notices from other plugins are hidden on Route Planner 4U screens for a clean, focused backend.
  • New: dedicated location-pin icons after the title on the map list (“Maps”) and map editor (“Add New Map” / “Edit Map”).
  • Changed: translations now load automatically — removed the discouraged manual textdomain loading; Requires at least is now WordPress 6.7.

1.0.6

  • Improved: the page header now also shows the section’s own icon after the title (Settings, Documentation, Premium).

1.0.5

  • Improved: consistent page header across the Settings, Documentation and Premium pages (“Route Planner 4U – ” with the plugin icon and a divider). No functional change.

1.0.4

  • New: a “Premium” info page that lists the additional features of the separately distributed premium version (privacy proxy, waypoints, GPX export). No change to the free features.

1.0.3

  • Fixed: In the map editor the “use center address” buttons stayed clickable when routing is disabled (no OpenRouteService key) and a center address was entered. They now remain disabled together with the rest of the routing fields.

1.0.2

  • Maintenance: internal code hardening in the map editor (output escaping of the field-state attribute). No functional change.

1.0.1

  • Fixed: In the map editor the routing fields (start, destination, travel mode, route preference) are now disabled when no OpenRouteService key is set — matching the front end, where the route planner only appears once a key is configured. A hint links to the settings.

1.0.0

  • First stable release for the WordPress.org plugin directory.
  • Documentation: a clear setup guide for the free version — create a free OpenRouteService key and enter it under Route Planner 4U Settings to enable the route planner.
  • Internationalization refresh: English source language with a bundled German translation.

0.14.6

  • Documentation page: a book icon in the admin menu and a cleaner, styled layout.

0.14.5

  • Internationalization: the plugin now uses English as its source language with a bundled German translation, so it is ready for the WordPress.org directory (existing German installs stay German).
  • New: an in-plugin Documentation page under “Route Planner 4U Documentation”.
  • Renamed to “Route Planner 4U” (admin menu: RP4U); the plugin details view now shows the correct description.

0.14.4

  • Consent placeholder now fills the map area (background image with a readability veil, centered “load” box) instead of collapsing to a thin strip; ships a bundled default map backdrop used when no placeholder image is configured.

0.14.3

  • Maps can now sit behind a consent banner: a map only loads its OpenStreetMap tiles once a consent tool releases it — works out of the box with a contextual placeholder (e.g. CCT4U). Without a consent tool the map loads as before.

0.14.2

  • Front-end map picker reworked: a “choose on map” button next to the start, destination and each stop; the crosshair now only appears while picking. The right-click menu remains as a bonus.
  • Picked and reverse-geocoded addresses now include the house number and read as “street no., postcode city, county, state”.
  • Route and validation errors now appear right next to the “calculate route” button instead of below the map; specific messages for a missing start vs destination.
  • Backend map picker now centers on the field’s existing address instead of showing the whole country.
  • The front-end “choose on map” button matches the backend icon; stop buttons are aligned on one baseline.
  • Fix: Apple Maps deep link now uses the documented parameter order so it opens the correct destination.
  • Assets are cache-busted by file modification time.

0.14.1

  • New: per-map toggles to allow or lock visitor editing of the pre-filled start and destination fields.
  • Backend map picker refined: crosshair cursor, compact icon buttons with tooltips, wider address fields, clearer zoom help.
  • Premium: the plugins list shows the active license tier next to the plugin name.
  • Fix: the “use center address” button stayed disabled after picking the center on the map.

0.14.0

  • New: visual map picker in the backend — a “choose on map” button next to the center/start/destination fields opens a map; one click sets the coordinates and fills the address (reverse geocoding).
  • The OpenRouteService API key field is hidden in premium (proxy) mode, where no key is needed.
  • Fix: the “License” plugin action link pointed to the wrong admin page.

0.13.2

  • Map attribution now links to OpenStreetMap’s copyright page and uses the short form.

0.13.1

  • Color pickers preselect the default green; dashicons for the plugin submenu items; hardened backend input sanitization.

0.13.0

  • New: primary/secondary color settings — style the plugin buttons with the WordPress color picker, no CSS needed (defaults unchanged).

0.12.0

  • Backend: address autocomplete for center/start/destination (a picked center suggestion also fills the coordinates), “use center address” copy buttons, readable field widths; “+ stop” is now a proper outline button.

0.11.0

  • New: colored numbered pins for start (S), stops (1..n) and destination (Z) — pure CSS, no image assets.
  • New: points picked on the map get readable place names via reverse geocoding.
  • Premium: reorder stops via drag & drop (mouse and touch).

0.10.0

  • New: map picker — right-click (long-press on touch) offers the clicked point as start or destination (Premium: also as stop), ideal for targets without a street address.

0.9.1

  • Fix: adding or removing a stop re-enables the calculate button.

0.9.0

  • Premium: intermediate stops (waypoints) with autocomplete – route, directions, QR link and GPX include them.

0.8.2

  • UI: totals + QR/GPX export appear right of the calculate button (only after calculation, as overlay); directions below the map.

0.8.0

  • Leaflet updated to 1.9.4, readme and license added, translation template.

0.7.0

  • Phone export: QR codes and deep links for Google/Apple Maps (“send route to phone”, “navigate here”).

0.6.0

  • Settings page with OpenRouteService key support (own-key mode).

0.5.0

  • Maps without key: geocode-on-save, per-map route planner checkbox.

0.4.0

  • Route planner: address autocomplete, route calculation, turn-by-turn directions.

0.3.0

  • First visible map: Leaflet bundled locally, map rendering from backend config.

0.2.0

  • Backend map manager (custom post type) with per-map settings and shortcode.

0.1.0

  • Initial scaffold.