Last updated November 22, 2013. Created by smk-ka on April 1, 2008.
Edited by azuledu, colan, RdeBoer, batigolix. Log in to edit this page.

Drupal is an amazing tool for mapping. It integrates with a lot of libraries, technologies and third party services. There are solutions for simple maps but also for complex mapping needs.

On mapping there isn't one ideal solution, because it depends of the project. Although, there is always a path: input > storage > process > output, some modules may provide more than one of these steps.

If you start mapping with Drupal, you almost likely use a combination of modules to achieve your goal. The documentation section contains a description of main modules to help you on your selection.

Widely used approaches

There are several approaches:

In Drupal 7, Address Field is now often used instead of Location as a storage back-end.

For a complete solution out of the box, Cartaro is a Drupal distribution that provides support for spatial data. It combines PostGIS, OpenLayers, OpenLayers Editor and GeoServer modules.

Which one to pick depends on the nature of the project (e.g the location data storage modules you may be committed to) and the skill of the level you have on each technology. OpenLayers supports a number of map providers (including Google Maps), so gives you a lot of flexibility. However this comes at the expense of more complexity in configuration.

Geofield is currently the standard for storing geo data. It can be used as a stand alone solution for simple projects as it provides the input (unlike Location, it accepts points, lines, polygons), storage and display (when used with Views). But if you want more complex displays, it can be integrated with Geocoder, or libraries like Openlayers and Leaflet.

When a deep handle geospatial data is needed, the PostGIS module is used. To the end user this module is similar to Geofield, but spatial operations and data storage rely on PostGIS. This module have a good integration with the OpenLayers, OpenLayers Editor and the GeoServer modules. With the PostGIS module, spatial data are stored as true geometric data types like POINT, LINE, POLYGON and more. This allows for high performance spatial queries and analyses and guarantees data integrity through a whole range of possible spatial validations.

If your geographical data can be captured as a Views table, which is almost always the case, then IP Geolocation Views and Maps is a very versatile solution, connecting your choice from any of the main geo storage modules to your choice of one of the three map rendering packages (Google, OpenLayers and Leaflet). This allows you to pick and mix as you please without lock-in.

Drupal 6 vs. 7

As can be seen from the list above there are differences on the available modules for Drupal 6 and Drupal 7. On one hand because the technology is outdated, on the other because more flexible solutions appeared. Web mapping is an area that is in constant movement.

To search more contributed modules see the Location category.
See also: Comparison of mapping modules.

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.

Comments

here's a collection of Drupal mapping diagrams:
#1807358: Drupal Mapping Diagrams