488 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.


Provides integration with the geoPHP library: https://geoPHP.net

This module does not provide any direct functionality to end-users or site-administrators. Install it only if another module requires it.

GeoPHP is a open-source native PHP library for doing geometry operations. It is written entirely in PHP and can therefore run on shared hosts. It can read and write a wide variety of formats (WKT, WKB, GeoJSON, KML, GPX, GeoRSS). It works with all Simple-Feature geometries (Point, LineString, Polygon, GeometryCollection etc.) and can be used to get centroids, bounding-boxes, area, and a wide variety of other useful information.

geoPHP also helpfully wraps the GEOS php extension so that applications can get a transparent performance increase when GEOS is installed on the server. When GEOS is installed, geoPHP also becomes fully compliant with the OpenGIS® Implementation Standard for Geographic information. With GEOS you get the full-set of openGIS functions in PHP like Union, IsWithin, Touches etc. This means that applications get a useful "core-set" of geometry operations that work in all environments, and an "extended-set"of operations for environments that have GEOS installed.

Read the API Reference at: https://geoPHP.net/api.html
Learn about GEOS integration at: https://geoPHP.net/geos.html



Geofield is a module for storing geographic data in Drupal 7 & Drupal 8. It supports all geo-types (points, lines, polygons, multitypes etc.)

Widgets (Data Input)

Latitude and Longitude
Supports entering data as both Decimal Degrees (122.340932) and Degrees-Minutes-Seconds (-123° 49' 55.2" W). The Degrees-Minutes-Seconds input is very tolerant of inconsistent input.

Bouding Box
Four textfields where lat / lon can be entered

Well Known Text (WKT)
A textarea for direct WKT input

Draw on an OpenLayers Map
Allows drawing of Points, Lines, Polygons and Bouding Boxes

HTML5 Geolocation
Transparently asks the browser for the user's current location. Works great on Chrome and smartphones with GPS.

Geocode from another field
There is good Integrations with the Drupal 7 version of the Geocoder module (http://drupal.org/project/geocoder). This allows you to use data from one field to populate your geofield automatically. Supported geocoders include:

  • Google Geocoder: Addressfield, textfield
  • Yahoo Geocoder: Addressfield, textfield
  • KML: filefield, textfield
  • GPX: filefield, textfield
  • GeoJSON: filefield, textfield
  • Geotagged Image: filefield, imagefield

Formatters (Data Output)

GMap Module

Module maintainer @podarok

We are in CodeFreeze stage for 7.x-2.x as preparing and refactoring for #2139223: Drupal 8 gmap version
Only bug and security fixes can be commited
All feature requests should be filled against latest 7.x-2.x branch

The GMap module provides an interface to the Google Maps API within Drupal. It integrates with the Location module to provide users a clickable map for entering latitude and longitude, as well as to display maps of Drupal nodes and users. GMap can be used to create interactive maps with various map markers and content in map bubbles, taking advantage of Drupal's other content management features. The module also provides a Views display plugin which allows users to display the results of a view on a Google map.

Drupal 8 battleplan #2139223: Drupal 8 gmap version
Supported by Druler


This module will geocode just about anything you throw at it including addresses, GPX files, geo-tagged images, and KML files.

It is commonly used to automatically geocode Addressfield addresses into Geofield points for display on Openlayers Maps. It also supports the geolocation, and location modules.

This module also makes available an API to convert the information you already have into geographic information. It support a variety of input formats and runs them through pluggable backends to produce geographic information. In addition to Latitude / Longitude points, this API also supports more complex geographies such as lines and polygons.

If you'd like to help improve the module your patches and co-maintenance are welcome!


Simple Google Maps

This module is about the simplest way to get a Google Map, and/or a link to a Google Map, displayed with your content. It provides a field formatter for Drupal plain text fields (it can also be used on Computed Fields module fields). You enter an address that Google Maps can recognize in the field, and the formatter displays it as a dynamic map, a static map (without the ability to zoom/pan etc.), a link to Google Maps, or some combination.

If you want to do something more complicated than this, such as displaying location fields from multiple nodes on a map, see:



Integration with the Leaflet JavaScript mapping library.

Now compatible with Leaflet JS 1.0.3 !

IMPORTANT: if you wish to use Leaflet JS 1.0.3 with Leaflet MarkerCluster, please read the note on its project page.

A Modern, Lightweight Open-Source JavaScript Library for Interactive Maps by CloudMade.

Location Map

This simple module displays just one location map via Google Maps, for brochure and company profile web sites.

#D7CX: As pledged, Location Map module had a full Drupal 7 release on the day that Drupal 7 was released.

Location Map will:

  • create a Google Maps page with a marker on your location based on an address you supply. The map provides options for map view, satellite view, and a hybrid mode. It has the standard Google Maps features that users can zoom and drag to temporarily change the focus of the map. The size of the map can be configured in the admin interface. In v1.0, a node is created for this map at /locationmap, which can be aliased to any address you choose.
  • allow anyone given administrative approval for the module to drag-and-drop the map location marker for fine-tuning its position, if initial automatic geolocating from address information was not accurate.
  • create a block with a static image of the centre of your map, which links to the larger map.


Provides functionality for storing, validating and displaying international postal addresses.

The Drupal 8 heir to the addressfield module, powered by the commerceguys/addressing library.

Addressfield Tokens


The addressfield_tokens module extends the addressfield module by adding full token support. It also adds some convenient addressfield formatters and provides a webform addressfield integration.



  • Attaches tokens to every addressfield type within every entity.
  • Creates a token for every addressfield component, including name, organization, thoroughfare, premise, locality, postal_code, and country.
  • Allows token names to be configured for your locale (e.g. "thoroughfare" could be displayed as "Street 1" in the token table).
  • Creates additional tokens:
    City, State
    Full address with formatting.
    Full address without formatting, all on one line.
    The full name of the country.
    The full name of the state (applicable for countries where states have abbreviations selectable from a select list).

Get Locations

Get Locations will provide Google maps API version 3 enabled maps on which to display markers of locations found in location-enabled content-types.

Office Hours

Defines a 'weekly office hours' field type, allowing you to specify when a location is open or closed.

The D8-version is now the version for new functionalities. New features are:
- separate formatters for string, table and status.
- comments per time slot.
The D7-version is only maintained for errors.
The D6-version is not maintained anymore.


A short intro can be found here.



Project contains a set of modules for Drupal 7 that use Yandex.Maps service available at http://maps.yandex.com/.

Uses http://api.yandex.ru/maps/ (API 2.x).


Screenshot of Weather 7.x-2.0

This module uses free weather data from yr.no to display current weather conditions from anywhere in the world. Forecasts for up to 11 days are included. Data for more than 14.000 places worldwide is included for easy weather display.

The old branch, 7.x-1.x, uses METAR (METeorological Aerodrome Report) data to display current weather conditions from anywhere in the world.

Address Field Phone

This project extends the Address Field module to add support for some additional fields (Phone number/extension, Mobile number and Fax number) that are stored with other address fields.

This module may or may not be what you need.

Smart IP

Smart IP identify visitor's geographical location (longitude/latitude), country, region, city and postal code based on the IP address of the user. These information will be stored in session variable ($_SESSION) with array key 'smart_ip', Drupal $user->data object with array key 'geoip_location' in Drupal 6 and 7 and user data service using the parameters 'smart_ip' as module and 'geoip_location' as name in Drupal 8 of the user but optionally it can be disabled (by role) at Smart IP settings page. Other modules can use the function smart_ip_get_location($ip_address) in Drupal 6 and 7 and \Drupal\smart_ip\SmartIp::query($ipAddress) in Drupal 8 that returns an array containing the visitor's ISO 3166 2-character country code, longitude, latitude, region (FIPS), city and postal code. It provides a feature for you to perform your own IP lookup and admin spoofing of an arbitrary IP for testing purposes.

Location Feeds

This module provides location mappers for the Feeds module and is compatible with both CCK and location module location fields.

Degrees, minutes, seconds notation is supported for latitude and longitude sources provided the values are numeric.

Simple GeoRSS support is available for georss:points (http://georss.org/simple)

Geofield Gmap

Google Map widget for geofield. A gmap field formatter can be found in the geofield_map submodule inside the Geofield project.

For now allow to use a google map v3 map to input a location.
A quick text input + geocode allow you to specify an address.
You can drag and drop the marker to narrow the position.

Views GeoJSON

Views GeoJSON is a style plugin for Views to output location-specific data in GeoJSON, a JSON-based text format for encoding a variety of geographic data structures.


  • Generates GeoJSON data feeds from content using Views.
  • Accepts data in latitude/longitude, Geofield, or WKT formats.
  • Works with OpenLayers and Leaflet modules.
  • Accepts bounding-box coordinates as an argument to filter the points returned.


  1. Create a View with a Page display on content with locative information.
  2. Set Format for the display to GeoJSON Feed.
  3. Add View fields that include lat/lon, Geofield, or WKT data.
  4. Set those fields as GeoJSON data source.

The view output is a text document including data as GeoJSON Features, wrapped in a FeatureCollection.

See README.txt or Views GeoJSON Example Use Case for more.


    IP-based Determination of a Visitor's Country

    This module uses a visitor's IP address to identify the geographical location (country) of the user. The module makes this determination and stores the result as an ISO 3166 2-character country code in the Drupal $user object, but otherwise has no effect on the operation of your site. The intent is simply to provide the information for use by other modules. A function is also provided for you to perform your own lookup, to use in your own manner. Features include automatic updates of the IP-country database and admin spoofing of an arbitrary IP or Country for testing purposes.

    Geofield Yandex Maps

    Geofield 2.x widget, Geofield formatter, Views handler, Form element and Text filter with Yandex.Maps 2.1

    Postal Code Validation

    This module provides a function to validate postal codes and ZIP codes for various countries. It has no user interface of its own, but can be used by other modules.

    Get Directions

    Getdirections has moved to Github

    Leaflet Widget for Geofield

    A Geofield widget that provides a Leaflet map and uses the Leaflet widget plugin for adding and removing geometries. Leaflet.widget uses the Leaflet.draw geometry creation tools.


    • Create & manage simple geometries: Point, LineString, Polygon.
    • Maintains complex geometries: MultiPoint, MultiLineString, MultiPolygon and GeometryCollection. (These can't be created yet but it won't mess with your existing data.)
    • Delete geometries.
    • Supports single or multi-value Geofields (cardinality).
    • Use base layers defined by Leaflet module.

    Addressfield Autocomplete

    Addressfield autocomplete

    Provides a hook into google maps autocomplete API. Implements a new widget which utilises the addressfield autocomplete functionality and provides an easy to use single box for entering an address.

    It also allows you to target addresses within specific countries and search for full addresses, establishments or just cities within those countries.

    Location Taxonomize

    Location taxonomize allows for the creation and maintenance of a 'Location Vocabulary' - a vocabulary which contains hierarchical location information (e.g. Country -> State/Province -> City). The data in the Location Taxonomy is updated every time new content is added.

    Compatible with Location as well as Address Field

    This allows for the automatic creation and synchronization of address/location based vocabularies, and thereby opens up this data to the wide range of Taxonomy functionalities and modules.