This project is not covered by Drupal’s security advisory policy.
Overview
Mapy.com integrates interactive maps into your Drupal site using the
Mapy.com REST API (Seznam.cz's mapping
platform - detailed street-level coverage for Czechia and Slovakia, alongside standard world maps).
A single field type stores a location; a widget lets editors place, search, and adjust it directly on
an interactive map; formatters and a Views style display one or many locations back out. Six modules
in total, so you only enable what you actually need:
- Mapy.com (this project) - the location field, map widget, formatters, Views
style, and address autocomplete. - Mapy.com Webform Integration (
mapycom_webform) - the same
address-picking widget as a Webform element. - Route Planner (
routeplanner) - a field type/widget for a
point-to-point route (ordered stops, drawn and editable on the map), built on top of the base
map widget. - Route Planner Webform Integration (
routeplanner_webform) - the
route planner as a Webform element. - Route Planner - Content reference (
routeplanner_reference) - an
alternative route planner that builds its route from existing content (matched by title)
instead of free-text address search. - Route Planner - Content reference Webform Integration
(routeplanner_reference_webform) - that content-reference route planner as a
Webform element.
Features
- Field type for storing map locations, with a widget for editing them directly on an
interactive map (search-as-you-type address autocomplete included) - Field formatter and a Views style plugin for displaying one or many locations
- Route Planner: an ordered, editable multi-stop route, either from free-text address search or
from matching existing content - Webform elements for both the address picker and the route planner
- Switchable map layers (basic/outdoor/winter/aerial) and AJAX-driven filtering
- No bundled or Composer-fetched third-party JavaScript - MapLibre GL JS and autoComplete.js load
from a CDN with a Subresource Integrity hash pinned to the exact version this module ships
against, so installing is exactlycomposer require drupal/mapycom, nothing else
Requirements
- Drupal core ^10 || ^11 || ^12
- A free Mapy.com API key
- (Optional) The Webform module, if you use
any of the three Webform-element submodules
Installation
- Install via Composer:
composer require drupal/mapycom. - Enable the module(s) you need at
/admin/modules. - Configure your API key at
/admin/config/services/mapycom.
MapLibre GL JS and autoComplete.js are loaded from jsDelivr with a Subresource Integrity hash
pinned to this module's exact version - no extra Composer configuration or manual download needed.
Try it live, or run it yourself
A ready-to-run demo - the base module, all five submodules, demo content, and a CS/EN language
switcher, pre-installed on a Drupal 11 site - is available at
gitlab.com/good_sailors/mapycom-demo.
Run your own local instance (needs Docker):
git clone https://gitlab.com/good_sailors/mapycom-demo.git cd mapycom-demo docker build --provenance=false --sbom=false -t mapycom-demo:local . ./generate-demo.sh --lang en --api-key YOUR_MAPYCOM_API_KEY
--api-key is optional - skip it and the instance still boots fine, just with the map
areas showing an "API key missing" notice instead of real maps (never pass a real production key
here; use a low-quota key made just for this). generate-demo.sh prints the instance's
id; run it again for another, independent instance - each gets its own id, port, and DB credentials.
When you're done, remove that instance completely (containers, volumes, its ledger entry - nothing left behind):
./destroy-demo.sh <demo-id>
Usage
- Add the Mapy.com field to your content types.
- Configure the field widget and formatter as needed.
- Use the provided Views style to display maps with multiple locations.
- Enable Route Planner if you need multi-stop routes instead of a single location.
Troubleshooting
- Ensure your API key is valid and set in the configuration.
- If the map does not display after AJAX filtering, clear Drupal's cache and check the browser's
JavaScript console for errors. - For further help, see the issue
queue.
Credits & License
This module is based on the original Mapy.cz
Drupal project and implements the new
Mapy.com REST API.
Mapy.cz license and useful links:
Mapy.cz License
Original Mapy.cz Drupal module
Mapy.com REST API documentation
Project information
- Project categories: Content editing experience, Integrations, Site structure
- Ecosystem: Geofield, Addresses
8 sites report using this module
- Created by good_sailors on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
