On this page
Geocoder
Geocoder is a Drupal 7 module that will extract (geocode) geographical data from just about anything you throw at it such as addresses, GPX files, Geotags from EXIF data in photos, and KML files.
A convenient way to allow users to enter an address and have it automatically geocoded is to use it in combination with the Addressfield and Geofield modules.
Geocoder uses the external geocoding services from Google, Yahoo and Yandex.
Don't confuse the Geocode and Geocoder modules. Geocode is only available for Drupal 6.
Install
Install and enable the Geocoder module and its required modules geoPHP and Chaos tool suite in the usual way. Install and enable the optional modules Addressfield and Geofield.
Learn more about installing Drupal modules.
Configure
Assign the necessary permissions at /admin/people/permissions#module-geocoder
If you have enabled the modules Addressfield and Geofield you can start using Geocoder in a content type, e.g., an event.
Add a new address field by going to /admin/structure/types, choosing the desired content type and opening the "Manage fields" tab. Add a "Postal address" field and configure the field. Add a geofield (after installing the geofield module, if you have not already done so) and select "Geocode from another field" as widget. In the settings for the geofield you can now choose the source field to geocode from. You can also choose which geocoding service (Google et cetera) to use and configure these services.
Now you have a place where Geocoder can store its result (geofield) and the input to the geocode operation (addressfield). You can then use OpenLayers to map the geofields.
Note: you can use Geocoder in any entity such as a user, a taxonomy term or a comment.
Geocoder API
In addition to the GUI-based widget, geocoder also provides a nice general API for doing geocoding. Here's an example:
// Geocode an address
$address = '4925 Gair Ave, Terrace, BC';
$point = geocoder('google',$address);
$geoJSON = $point->out('json');
// List all available handlers
$handlers = geocoder_handler_info();
dpm($handlers);
New geocoder handlers as easy to define. Simply create a new ctools plugin of the type "geocoder_handler".
More information
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion