Introduction: building GIS, geospatial, and geo-mapping portals with Drupal 11
Modern organizations increasingly rely on geospatial data to visualize assets, analyze locations, and present information in a clear, interactive way. From government agencies and utility providers to real estate platforms, logistics companies, and research institutions, geomapping portals and Geographic Information System (GIS) online systems have become essential tools for decision-making and public engagement.
Drupal 11 is well suited for building these types of systems. Its flexible content modeling, strong API support, and mature ecosystem of geospatial modules make it possible to create scalable, secure, and data-driven mapping websites that go beyond simple map embeds.
Example scenario and use case
A practical example is a national or regional geospatial portal that displays:
- Infrastructure assets such as roads, utilities, and facilities
- Environmental or hazard data mapped by location
- Project sites, service coverage areas, or points of interest
- Searchable locations with proximity filters and interactive map views
In this scenario:
- Editors enter structured address and location data through Drupal content types.
- Addresses are automatically converted into geographic coordinates.
- Location data is stored in standardized geospatial fields.
- Interactive maps render the data with filters, clustering, and pop-ups.
Using Drupal 11 and the right combination of geospatial modules, the platform can support large datasets, role-based access, multilingual content, and future integrations, while remaining maintainable and extensible.
The following sections outline key Drupal 11-compatible modules commonly used in geospatial geomapping portals, and explain how each contributes to a complete mapping solution.
1. Leaflet
Module: https://www.drupal.org/project/leaflet
Drupal 11 support: Yes (stable releases support ^9.3 || ^10 || ^11)
What it is:
Leaflet is a contributed integration between Drupal and the Leaflet.js open-source client-side mapping library (lightweight, mobile-friendly). It depends on Geofield to render geographic data and extends map features with interactive markers, tiles, clustering, overlays, gesture handling, etc.
How it works for this project:
- Provides map rendering for geo data stored in Geofield.
- Integrates with Views so you can build interactive map views with nodes, taxonomy terms, or other entities.
- Works with Leaflet plugins (marker cluster, locate control, popups) to enhance UX.
- Can be used for displaying points, polygons, linestrings with geographic context.
Ideal for building frontend geomapping portals where map UX and performance matter.
2. Geocoder
Module: https://www.drupal.org/project/geocoder
Drupal 11 support: Yes (release supports ^9.5 || ^10 || ^11)
What it is:
A geocoding API integration module that ties into the geocoder-php library to convert address strings → geocoordinates and vice versa (reverse geocoding). It includes submodules like Geocoder Field and Geocoder Geofield.
How it works for this project:
- Automatically fills Geofield coordinates from text or address fields during node saves or via Views workflows.
- Works with multiple providers (Google Maps, Nominatim, Bing, etc.), depending on API keys or third-party services.
- Caches results to reduce external API hits.
- Reverse geocoding lets you display an address for a given lat/lng.
Important for automating geo lookups from user input or imported address data.
3. Geofield
Module: https://www.drupal.org/project/geofield
Drupal 11 support: Yes (latest stable works with Drupal 11)
What it is:
The core geospatial field type module in Drupal that stores geographic data (lat/lng, WKT, GeoJSON). It supports points, lines, polygons, multipolygons, and integrates with mapping or geocoding modules.
How it works for this project:
- Provides field types to store location data on nodes, users, or taxonomy.
- Works as the central data layer for maps, geocoding, and geospatial queries.
- Outputs raw geographic formats and integrates with Views (proximity filters, sorting).
- Base dependency for Leaflet, Geofield Map, and Geocoder.
Geofield is at the heart of any location-aware Drupal project.
4. geoPHP
Module: https://www.drupal.org/project/geophp
Drupal 11 support: Yes (8.x-1.2 adds Drupal 11 compatibility)
What it is:
An integration of the geoPHP library into Drupal, offering geometric processing functions behind the scenes (WKT, GeoJSON, KML, GPX).
How it works for this project:
- Supplies geometry utilities used by Geofield and related modules (handling shapes, computing centroids, bounding boxes).
- Not directly visible in UI, but required for advanced geospatial operations and formats.
This module is typically a backend dependency when working with geospatial data beyond simple lat/lng.
5. Geolocation
Module: https://www.drupal.org/project/geolocation
Drupal 11 support: Yes (stable release works with ^10 || ^11)
What it is:
Provides a simpler latitude/longitude field type and client-side widget compared to Geofield, with a stored data structure optimized for proximity filtering.
How it works for this project:
- Enables basic location entry of points.
- Works with Views proximity filters.
- Can be easier for simple mapping use cases where complex geometries aren’t needed.
- Converts directly to lat/lng and can be rendered on Leaflet or map services.
Use this when you need straightforward geo point capture and display without Geofield’s full geometry weight.
6. Mapbox
Module: https://www.drupal.org/project/mapbox
Drupal 11 support: Not explicitly supported for Drupal 11 yet (latest stable only up to Drupal 10)
What it is:
Provides a base integration layer for Mapbox maps — a powerful vector-tile map provider alternative to Leaflet.
How it might work for this project:
- Could be used to embed Mapbox maps as a custom map display.
- Often paired with custom Field/Views integrations (Mapbox Field/Mapbox Views — separate modules not always Drupal 11 ready).
- If Drupal 11 support is needed, check contrib maintainers or patches.
Best for projects needing Mapbox’s advanced styles and geocoding but be cautious about current compatibility.
7. Address
Module: https://www.drupal.org/project/address
Drupal 11 support: Yes (Address 2.0 stable supports ^9.5 || ^10 || ^11)
What it is:
Provides an international postal address field type (street, city, postal code, country, subdivisions), standardizing address data entry.
How it works for this project:
- Allows structured address input for content types.
- Integrates with Geocoder to convert those addresses into map coordinates.
- Works well with Geofield for geocoding workflows.
Useful when you need structured location capture with rich address elements and geocoding support.
Typical mapping stack for D11 geomapping portal
A recommended stack to build a geospatial geo-mapping site:
- Geofield – central geo data storage.
- Leaflet – interactive map rendering for frontend.
- Geocoder – automatic geocoding from address fields.
- Address – structured address capture.
- geoPHP – geometry backend support for Geofield.
- Geolocation (optional) – simpler lat/lng field alternative.
- Mapbox (optional / custom code) – alternative map tile/styles (check compatibility).
This combination enables data capture, geocoding, storage, interactive mapping, and advanced geospatial queries suitable for portals, directories, proximity searches, and interactive map dashboards on Drupal version 11.


