Maps & GeolocationGoogle Maps Integration
Maps & Geolocation

Google Maps Integration

Google Maps API client for geocoding, places, directions, and distance matrix services. Provides comprehensive location-based services including address lookup, place search, and routing.

Google Maps

Category: Maps & Geolocation
Provider Key: googleMaps

Google Maps API client for geocoding, places, directions, and distance matrix services. Provides comprehensive location-based services including address lookup, place search, and routing.


Configuration

To use Google Maps in your project, add it to your project integrations and provide the following configuration:

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
timeoutnumberNoRequest timeout in milliseconds (default: 30000)
baseUrlstringNoBase URL for the API (default: https://maps.googleapis.com)

Example Configuration

{
  "provider": "googleMaps",
  "configuration": [
    { "name": "apiKey", "value": "your-apiKey" },
    { "name": "timeout", "value": 0 },
    { "name": "baseUrl", "value": "your-baseUrl" }
  ]
}

Available Methods

Quick reference:

  • Geocoding: geocodeAddress, reverseGeocode
  • Places: searchPlaces, findPlacesNearby, getPlaceDetails, getPlaceAutocomplete
  • Directions: getDirections
  • Distance: getDistanceMatrix
  • Timezone: getTimezone
  • Elevation: getElevation

Geocoding

geocodeAddress

Geocode Address

Geocode an address to get latitude and longitude coordinates

Parameters:

ParameterTypeRequiredDescription
addressstringYesThe address to geocode
regionstringNoRegion code for biasing results (e.g., 'us', 'uk')
languagestringNoLanguage for results (e.g., 'en', 'es')

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "geocodeAddressAction",
  "provider": "googleMaps",
  "action": "geocodeAddress",
  "parameters": [
    { "parameterName": "address", "parameterValue": "'your-address'" },
    { "parameterName": "region", "parameterValue": "'your-region'" },
    { "parameterName": "language", "parameterValue": "'your-language'" }
  ],
  "contextPropertyName": "geocodeAddressResult"
}

MScript example:

await _googleMaps.geocodeAddress({
  address: /* string */,
  region: /* string */,
  language: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.geocodeAddress({
  address: /* string */,
  region: /* string */,
  language: /* string */,
});

reverseGeocode

Reverse Geocode

Reverse geocode coordinates to get address information

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLatitude coordinate
longitudenumberYesLongitude coordinate
languagestringNoLanguage for results

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "reverseGeocodeAction",
  "provider": "googleMaps",
  "action": "reverseGeocode",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "language", "parameterValue": "'your-language'" }
  ],
  "contextPropertyName": "reverseGeocodeResult"
}

MScript example:

await _googleMaps.reverseGeocode({
  latitude: /* number */,
  longitude: /* number */,
  language: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.reverseGeocode({
  latitude: /* number */,
  longitude: /* number */,
  language: /* string */,
});

Places

searchPlaces

Search Places

Search for places by text query

Parameters:

ParameterTypeRequiredDescription
querystringYesSearch query text
locationstringNoLat,lng around which to search
radiusnumberNoSearch radius in meters
languagestringNoLanguage for results
typestringNoPlace type to filter results

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "searchPlacesAction",
  "provider": "googleMaps",
  "action": "searchPlaces",
  "parameters": [
    { "parameterName": "query", "parameterValue": "'your-query'" },
    { "parameterName": "location", "parameterValue": "'your-location'" },
    { "parameterName": "radius", "parameterValue": "0" },
    { "parameterName": "language", "parameterValue": "'your-language'" },
    { "parameterName": "type", "parameterValue": "'your-type'" }
  ],
  "contextPropertyName": "searchPlacesResult"
}

MScript example:

await _googleMaps.searchPlaces({
  query: /* string */,
  location: /* string */,
  radius: /* number */,
  language: /* string */,
  type: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.searchPlaces({
  query: /* string */,
  location: /* string */,
  radius: /* number */,
  language: /* string */,
  type: /* string */,
});

findPlacesNearby

Find Places Nearby

Find places near a location

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesCenter latitude
longitudenumberYesCenter longitude
radiusnumberYesSearch radius in meters (max 50000)
typestringNoPlace type to search for
keywordstringNoKeyword to search for
languagestringNoLanguage for results

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "findPlacesNearbyAction",
  "provider": "googleMaps",
  "action": "findPlacesNearby",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "radius", "parameterValue": "0" },
    { "parameterName": "type", "parameterValue": "'your-type'" },
    { "parameterName": "keyword", "parameterValue": "'your-keyword'" },
    { "parameterName": "language", "parameterValue": "'your-language'" }
  ],
  "contextPropertyName": "findPlacesNearbyResult"
}

MScript example:

await _googleMaps.findPlacesNearby({
  latitude: /* number */,
  longitude: /* number */,
  radius: /* number */,
  type: /* string */,
  keyword: /* string */,
  language: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.findPlacesNearby({
  latitude: /* number */,
  longitude: /* number */,
  radius: /* number */,
  type: /* string */,
  keyword: /* string */,
  language: /* string */,
});

getPlaceDetails

Get Place Details

Get detailed information about a place

Parameters:

ParameterTypeRequiredDescription
placeIdstringYesThe place ID to get details for
fieldsstringNoComma-separated list of fields to return
languagestringNoLanguage for results

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getPlaceDetailsAction",
  "provider": "googleMaps",
  "action": "getPlaceDetails",
  "parameters": [
    { "parameterName": "placeId", "parameterValue": "'your-placeId'" },
    { "parameterName": "fields", "parameterValue": "'your-fields'" },
    { "parameterName": "language", "parameterValue": "'your-language'" }
  ],
  "contextPropertyName": "getPlaceDetailsResult"
}

MScript example:

await _googleMaps.getPlaceDetails({
  placeId: /* string */,
  fields: /* string */,
  language: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.getPlaceDetails({
  placeId: /* string */,
  fields: /* string */,
  language: /* string */,
});

getPlaceAutocomplete

Place Autocomplete

Autocomplete place predictions based on user input

Parameters:

ParameterTypeRequiredDescription
locationstringNoLat,lng for biasing results
radiusnumberNoRadius for biasing results
typesstringNoPlace types to filter
languagestringNoLanguage for results

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getPlaceAutocompleteAction",
  "provider": "googleMaps",
  "action": "getPlaceAutocomplete",
  "parameters": [
    { "parameterName": "location", "parameterValue": "'your-location'" },
    { "parameterName": "radius", "parameterValue": "0" },
    { "parameterName": "types", "parameterValue": "'your-types'" },
    { "parameterName": "language", "parameterValue": "'your-language'" }
  ],
  "contextPropertyName": "getPlaceAutocompleteResult"
}

MScript example:

await _googleMaps.getPlaceAutocomplete({
  location: /* string */,
  radius: /* number */,
  types: /* string */,
  language: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.getPlaceAutocomplete({
  location: /* string */,
  radius: /* number */,
  types: /* string */,
  language: /* string */,
});

Directions

getDirections

Get Directions

Get directions between two or more locations

Parameters:

ParameterTypeRequiredDescription
originstringYesStarting point (address or lat,lng)
destinationstringYesEnding point (address or lat,lng)
modestringNoTravel mode: driving, walking, bicycling, transit
waypointsstringNoIntermediate waypoints
alternativesbooleanNoRequest alternative routes
languagestringNoLanguage for results
unitsstringNoUnit system: metric or imperial

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getDirectionsAction",
  "provider": "googleMaps",
  "action": "getDirections",
  "parameters": [
    { "parameterName": "origin", "parameterValue": "'your-origin'" },
    { "parameterName": "destination", "parameterValue": "'your-destination'" },
    { "parameterName": "mode", "parameterValue": "'your-mode'" },
    { "parameterName": "waypoints", "parameterValue": "'your-waypoints'" },
    { "parameterName": "alternatives", "parameterValue": "true" },
    { "parameterName": "language", "parameterValue": "'your-language'" },
    { "parameterName": "units", "parameterValue": "'your-units'" }
  ],
  "contextPropertyName": "getDirectionsResult"
}

MScript example:

await _googleMaps.getDirections({
  origin: /* string */,
  destination: /* string */,
  mode: /* string */,
  waypoints: /* string */,
  alternatives: /* boolean */,
  language: /* string */,
  units: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.getDirections({
  origin: /* string */,
  destination: /* string */,
  mode: /* string */,
  waypoints: /* string */,
  alternatives: /* boolean */,
  language: /* string */,
  units: /* string */,
});

Distance

getDistanceMatrix

Get Distance Matrix

Calculate distance and travel time between multiple origins and destinations

Parameters:

ParameterTypeRequiredDescription
originsstring[]YesArray of origin addresses or coordinates
destinationsstring[]YesArray of destination addresses or coordinates
modestringNoTravel mode: driving, walking, bicycling, transit
unitsstringNoUnit system: metric or imperial
languagestringNoLanguage for results

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getDistanceMatrixAction",
  "provider": "googleMaps",
  "action": "getDistanceMatrix",
  "parameters": [
    { "parameterName": "origins", "parameterValue": "[]" },
    { "parameterName": "destinations", "parameterValue": "[]" },
    { "parameterName": "mode", "parameterValue": "'your-mode'" },
    { "parameterName": "units", "parameterValue": "'your-units'" },
    { "parameterName": "language", "parameterValue": "'your-language'" }
  ],
  "contextPropertyName": "getDistanceMatrixResult"
}

MScript example:

await _googleMaps.getDistanceMatrix({
  origins: /* string[] */,
  destinations: /* string[] */,
  mode: /* string */,
  units: /* string */,
  language: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.getDistanceMatrix({
  origins: /* string[] */,
  destinations: /* string[] */,
  mode: /* string */,
  units: /* string */,
  language: /* string */,
});

Timezone

getTimezone

Get Timezone

Get timezone information for a location

Parameters:

ParameterTypeRequiredDescription
latitudenumberYesLocation latitude
longitudenumberYesLocation longitude
timestampnumberNoUnix timestamp (defaults to current time)
languagestringNoLanguage for results

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getTimezoneAction",
  "provider": "googleMaps",
  "action": "getTimezone",
  "parameters": [
    { "parameterName": "latitude", "parameterValue": "0" },
    { "parameterName": "longitude", "parameterValue": "0" },
    { "parameterName": "timestamp", "parameterValue": "0" },
    { "parameterName": "language", "parameterValue": "'your-language'" }
  ],
  "contextPropertyName": "getTimezoneResult"
}

MScript example:

await _googleMaps.getTimezone({
  latitude: /* number */,
  longitude: /* number */,
  timestamp: /* number */,
  language: /* string */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.getTimezone({
  latitude: /* number */,
  longitude: /* number */,
  timestamp: /* number */,
  language: /* string */,
});

Elevation

getElevation

Get Elevation

Get elevation data for locations

Parameters:

ParameterTypeRequiredDescription
locationsArrayYesArray of {lat, lng} objects or "lat,lng" strings

IntegrationAction example:

{
  "extendClassName": "IntegrationAction",
  "name": "getElevationAction",
  "provider": "googleMaps",
  "action": "getElevation",
  "parameters": [
    { "parameterName": "locations", "parameterValue": "[]" }
  ],
  "contextPropertyName": "getElevationResult"
}

MScript example:

await _googleMaps.getElevation({
  locations: /* Array */,
})

Service library example:

const { getIntegrationClient } = require("integrations");
const client = await getIntegrationClient("googleMaps");
const result = await client.getElevation({
  locations: /* Array */,
});