Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Varbase FAQs 9.2.1 Minor update available for module varbase_faqs (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides a webform element that allows users to find and select content entities based on their geographic location. Users can either use their browser's location or type an address to see nearby results sorted by distance, which is useful for scenarios like finding nearby stores or dealers.

Introduction:

Entity proximity select (Webform) provides a webform element that allows end users to find and select content entities (nodes, etc.) based on geographic proximity. Visitors can use their browser's geolocation or type an address to see nearby results sorted by distance. This is ideal for "find your nearest dealer/store/office" scenarios embedded in webforms.

Features

- Proximity-based entity selection — Sorts any content entity by distance using the Haversine formula, with locale-aware distance formatting (meters/kilometers).
- "Use my location" button using the browser Geolocation API.
- Address autocomplete search — Users can type an address to find nearby entities.
- Pluggable geocoding providers — Ships with two providers out of the box:
- Nominatim (OpenStreetMap)
- Google Places — Uses Google Places Autocomplete. (Requires a Google API key via the Geolocation module)
- Works with any entity type.
- Supports both geolocation and geofield field types for storing coordinates.
- Customizable UI texts — Button labels, placeholders, and separator text are configurable.
- You can alter the order of entity lists with hook_entity_proximity_entities_alter().

Post-Installation

1. Enable the module as usual (drush en entity_proximity_webform_select).
2. Add the element to a webform: Go to a webform's "Build" tab and add an "Entity proximity select" element (found under "Entity reference elements").
3. Configure the element:
- Select the entity type and bundle (e.g., Node → Store).
- Choose the geo field that stores coordinates (supports geolocation and geofield field types).
- Optionally choose a label field and a view mode entity display.
- Select a geocoding provider (Nominatim or Google Places) and configure its settings.
- Adjust UI texts, initial results count, and sort method as needed.
4. That's it — the element will display a list of entities with geolocation and search capabilities on the frontend.

Additional Requirements

- Webform (https://www.drupal.org/project/webform) — Required. The module extends Webform with a custom element.
- Drupal Core Node module — Required.
- A geo field on your content entities using either:
- Geolocation Field (https://www.drupal.org/project/geolocation), or
- Geofield (https://www.drupal.org/project/geofield)

For the Google Places provider only:
- Geolocation - Google Maps API (https://www.drupal.org/project/geolocation) submodule with a configured Google API key (Maps JavaScript API + Places API + Geocoding API).

- Geolocation Field (https://www.drupal.org/project/geolocation) — Recommended for storing coordinates and required if using the Google Places provider.
- Geofield (https://www.drupal.org/project/geofield) — Alternative field type for storing coordinates.

Similar projects

- In webform Entity Select provides entity reference selects but without geographic proximity features.

Entity proximity select (Webform) is specifically designed as a webform element combining entity reference selection with geographic proximity sorting and pluggable geocoding — a use case not covered by the above modules.

Supporting this Module

This module is maintained on a volunteer basis. If you find it useful, contributions (code, documentation, translations, bug reports) are always welcome.

Community Documentation

See the module's README.md for detailed developer documentation, including how to change the order of the entity list.

Activity

Total releases
10
First release
Feb 2026
Latest release
1 week ago
Releases (12 mo)
10 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.2.0 Stable Jul 10, 2026
1.1.3 Stable Jun 18, 2026
1.1.2 Stable Apr 30, 2026
1.1.1 Stable Apr 30, 2026
1.1.0 Stable Apr 30, 2026
1.0.5 Stable Apr 8, 2026
1.0.3 Stable Mar 3, 2026
1.0.2 Stable Mar 3, 2026
1.0.1 Stable Feb 24, 2026
1.0.0 Stable Feb 10, 2026