Google Maps widget

Geolocation Field provides a field type to store geographical locations as pairs of latitude and longitude (lan,lng) as well as the necessary integration to display those locations through views, fields and using a number of different map providers.

Demo on simplytest.me

Drupal 8/9/+

Drupal Integration

- Geolocation Field, Widgets & Formatters
- Views
- Search API Location integration in Views
- Geofield support for Views & Formatter
- Blocks
- Address support for Widgets & Views
- Integrated Demo modules
- GPX-file Field Widget & Formatter

(optional) Geometry Support

- Native in-DB Spatial Geometry support (requires MySQL 5.7+ / PostgreSQL)
- Geometry, Multi-/Polygon, Multi-/Linestring, Multi-/Point fields
- WKT / GeoJSON Fields & Widgets
- Views support for Within/Contains/Intersects
- Countries of the world geometries submodule
- US States geometries submodule
- German Postal Codes geometries submodule
- UNESCO World Heritage Sites points submodule

Map Providers

- Google Maps
- Google Static Maps
- Leaflet / OSM
- Yandex.Maps
- HERE Maps
- Baidu Maps

Google Maps features

- ClientLocationIndicator
- ContextPopup
- ControlCustomGeocoder
- ControlCustomLocate
- ControlCustomRecenter
- ControlGoogleMapType
- ControlGoogleStreetView
- ControlGoogleZoom
- Drawing
- Directions
- MapDisablePOI
- MapTilt
- MapTypeStyle
- MarkerClusterer
- MarkerIcon
- MarkerInfoBubble
- MarkerInfoWindow
- MarkerZoomByAnchor
- Spiderfying

Leaflet features

- ClientLocationIndicator
- ControlFullscreen
- ControlGeocoder
- ControlLayer
- ControlLocate
- ControlRecenter
- ControlScale
- ControlZoom
- CustomTileLayer
- GestureHandling
- MarkerClusterer
- MarkerIcon
- MarkerPopup
- TileLayer
- WMS

Yandex features

- Balloon
- Clusterer
- ControlGeolocation
- ControlSearch
- ControlTraffic
- ControlType
- ControlZoom

Theming / custom elements

- Render elements for map and locations
- Form element

Plugin support / Customization

- DataProvider to get geodata from different sources
- Geocoder to use different source for locations
- GeocoderCountryFormatting to display geocoded data correctly as needed
- MapCenter to customize different ways on where and how to center a map
- MapFeature to add functionality to maps
- MapProvider

Drupal 7

  • Plain text (input & output)
  • Google Maps (input & output)
  • Geolocation HTML5 (input & output)
  • Geolocation Proximity for proximity/distance based view results.
  • 7.x-1.x-dev Google Maps Geocoder (backport of Drupal 8 version)
  • 7.x-1.x-dev Template based microdata formatter (backport of Drupal 8 version)

Technical background (Drupal 7/Drupal 8)

At the moment Geolocation stores the following values in the database:

  • lat (latitude),
  • lng (longitude),
  • lat_sin (precalculated latitude sine),
  • lat_cos (precalculated latitude cosine),
  • lng_rad (precalculated radian longitude).

The precalculated values will speed up proximity SQL look ups.

Project information

Releases