JJW Design's plugin for Google Maps is included with SuiteCRM, and the plugin can additionally be installed for SugarCRM. This allows locations to be tracked using Google Maps for Accounts, Meetings, Contacts, and any other modules with addresses.
Configuring Google Maps
A Google Maps API key is required for configuration. You can follow these instruction to create one. Billing setup is required for API key generation as well. As of this writing (August 2018), it costs 5 USD for 40,000 geocoding requests. With a monthly credit of 200 USD, the service could most likely be used for free.
Within SuiteCRM, on the admin page, there is a Google Maps section with a ‘Google Maps Settings’ page available. From there, you can set your Google API key. Module availability for geocoding can also be configured here. Enabled for geocoding by default are Accounts, Opportunities, Leads, Contacts, Cases, Meetings, Projects, and Prospects.
After setup, testing that the service is properly working is advisable. This can be done through admin page by navigating to ‘Geocoding Test.’
Geocode Automation
The Google reverse geocoding API is called through the JJW plugin, and latitudes and longitudes are retrieved. Locations are cached as JJW custom fields. However, the plugin does not convert addresses automatically to place tags. The geocoding request URL must first be visited from your CRM (/module=jjwg_Maps&entryPoint=jjwg_Maps&cron=1
) . Changes in address must be addressed by visiting the geocoding request URL. This can be done by setting up a cron job on your server to regularly update the URL, every so often as necessary. The geocoding request URLs can be found, again, in the Google Maps section of the admin page in the ‘Geocode Addresses’ section. Cache data statistics are also shown here.
You can click here to learn how to set up a cron job on a Linux server. This looks as follows:
Edit your crontab (as root user):
sudo crontab -e
The following command will update the geocoding request URL once each five minutes:
5 * * * * http://localhost/suitecrm/index.php?module=jjwg_Maps&entryPoint=jjwg_Maps&cron=1
Update localhost URL above with your CRM. It is also a good idea to manually visit the page and verify geocoding works.