Salesforce & Google Maps Integration
Himanshu Varshney
Senior Salesforce Developer
December 8, 2023

Step 1: Set up Google Maps API Credentials
- Go to the Google Cloud Console.
- Create a new project or select an existing one.
- Enable the "Maps JavaScript API" for your project.
- Create API credentials (API Key).
Step 2: Create an Apex Class for Integration
// GoogleMapsIntegrationController.cls
public class GoogleMapsIntegrationController {
public static String getGoogleMapsApiKey() {
// Replace 'YOUR_GOOGLE_MAPS_API_KEY' with your actual API key
return 'YOUR_GOOGLE_MAPS_API_KEY';
}
public static List<Account> getAccountsForMap() {
// Query accounts or customize as per your use case
return [SELECT Id, Name, BillingStreet, BillingCity, BillingState, BillingCountry, BillingPostalCode FROM Account LIMIT 10];
}
}
Step 3: Create an Aura Component
<!-- GoogleMapsIntegration.cmp -->
<aura:component controller="GoogleMapsIntegrationController">
<aura:attribute name="accounts" type="List" />
<aura:handler name="init" value="{!this}" action="{!c.init}" />
<div id="map"></div>
<script>
// Replace 'YOUR_GOOGLE_MAPS_API_KEY' with your actual API key
const googleMapsApiKey = '{!GoogleMapsIntegrationController.getGoogleMapsApiKey()}';
function initMap() {
const map = new google.maps.Map(document.getElementById('map'), {
center: { lat: -34.397, lng: 150.644 },
zoom: 8
});
// Add markers for each account
{!c.addMarkers}
}
</script>
</aura:component>
Step 4: Create the Aura Component Controller
// GoogleMapsIntegrationController.js
({
init: function (component, event, helper) {
// Fetch accounts from Salesforce
var action = component.get("c.getAccountsForMap");
action.setCallback(this, function (response) {
var state = response.getState();
if (state === "SUCCESS") {
component.set("v.accounts", response.getReturnValue());
helper.loadGoogleMapsScript();
} else {
console.error('Error fetching accounts');
}
});
$A.enqueueAction(action);
},
addMarkers: function (component, event, helper) {
var accounts = component.get("v.accounts");
var map = new google.maps.Map(document.getElementById('map'));
for (var i = 0; i < accounts.length; i++) {
var account = accounts[i];
var address = account.BillingStreet + ', ' + account.BillingCity + ', ' +
account.BillingState + ', ' + account.BillingCountry + ' ' + account.BillingPostalCode;
// Use the address to get latitude and longitude using Google Geocoding API
// Add a marker for each account using the obtained coordinates
{!c.addMarker}(map, address, account.Name);
}
},
addMarker: function (map, address, title) {
// Use the Google Geocoding API to get latitude and longitude
// Create a marker and add it to the map
}
});
Please note that the addMarker function needs to be implemented to make a callout to the Google Geocoding API to convert the address to latitude and longitude.
Additionally, you may need to handle asynchronous loading of the Google Maps API script. The loadGoogleMapsScript function in the helper should be responsible for dynamically loading the script. Ensure that you replace 'YOUR_GOOGLE_MAPS_API_KEY' with your actual API key.
Remember to handle errors, implement proper error handling, and adjust the code based on your specific requirements and best practices.
Want to learn more about our healthcare solutions?
Discover how our AI technology can transform your healthcare practice.
Related Articles

October 31, 2025
Traditional lead qualification methods require significant human resources, create bottlenecks during high-traffic periods, and often fail to capture leads outside business hours. AI chatbots transform this process by automating qualification conversations, collecting critical information, and routing qualified leads to sales teams instantly.

October 30, 2025
Chatbots have revolutionized how businesses interact with their customers online. They offer 24/7 support, instant responses, and can handle multiple conversations simultaneously. However, despite their potential, many businesses stumble when implementing chatbot technology on their websites.

October 29, 2025
Anablock examines how to effectively leverage chatbots in marketing, transforming casual conversations into meaningful conversions while avoiding common pitfalls that undermine chatbot success.