Geofield is an advanced module for storing, managing and representing dynamic Geographic data in Drupal. It supports all geo-types (points, lines, polygons, multi types geometries, etc.), and integrates with various Js Mapping Libraries (Google Maps, Leaflet, etc.) and advanced Geocoding / Reverse Geocoding functionalities, via many other Drupal Geo Mapping modules.
Latitude and Longitude
Supports entering data as both Decimal Degrees (122.340932) and Degrees-Minutes-Seconds (-123° 49' 55.2" W).
Well Known Text (WKT)
A textarea for direct WKT input
Bounding Box
Four text fields where lat / lon can be entered
Geocode from another field
There is native integrations with the Geocoder module (http://drupal.org/project/geocoder).
This allows you to use data from one field to populate your geofield automatically.
Latitude and Longitude
Supports display as both Decimal Degrees (122.340932) and Degrees-Minutes-Seconds (-123° 49' 55.2" W)
Well Known Text (WKT)
Google Maps and Leaflet Maps (OpenLayers only for D7)
Display your data on a map, integrating other Drupal Geofield Mapping modules (see below).
For Drupal 7 version all you need to do is install the Drupal GeoPHP module, which is required by geofield.
Since 8.x-1.0-alpha2 version, this module is not depending on Drupal GeoPHP module anymore.
The Drupal 8 & 9 version of Geofield module needs to be installed using Composer, it means simply running the following command from your project root (where the main composer.json file is sited):
$ composer require 'drupal/geofield'
This process will also download the required GeoPHP library dependency (that will be sited in the /vendor folder).
For further information, see Installing Drupal Modules].
Thanks to all contributing developers of the Geofidld module (so as many others who have helped with bug fixing and documentation).
A special thanks to the following organization for sponsoring the development of initial Geofield for Drupal 7 version: HighWire Press, Phase 2, and GeoScienceWorld