Google Maps Node
The Google Maps node provides integration with Google Maps Platform in SkyStudio workflows. You can automate operations such as address-to-coordinate conversion, distance calculation, nearby place search, directions, and static map image generation.
Connection Setup and Management
To use the Google Maps node, a Google Maps API key is required.
Getting an API Key
- Go to Google Cloud Console.
- Create a project or select an existing project.
- Enable the following APIs from APIs & Services → Library:
- Maps JavaScript API
- Geocoding API
- Places API
- Directions API
- Distance Matrix API
- Maps Static API
- Go to APIs & Services → Credentials and select Create Credentials → API Key.
- Copy the generated API key.
Adding the Connection to SkyStudio
- Go to Application Connections from the left menu in SkyStudio.
- Click the Add New Connection button.
- Select Google Maps as the provider.
- Paste your API key into the relevant field and save it.
Assigning the Connection to the Node
After adding the Google Maps node to the canvas, select the connection you created from the Application Connections dropdown in the right panel.
Note: The same connection is used for every operation. You can define multiple connections with different API keys for different projects.
Operations
The Google Maps node provides 9 operations:
| Operation | Category | Description |
|---|---|---|
| Address → Coordinates | Featured | Converts a text address into latitude/longitude coordinates |
| Distance & Duration | Featured | Calculates the distance and travel time between two points |
| Nearby Places | Featured | Searches for places around specific coordinates |
| Search Place | Featured | Searches for places and addresses using a text query |
| Maps AI Assistant | Featured | Queries map data using natural language |
| Coordinates → Address | Standard | Converts latitude/longitude coordinates into a text address |
| Directions | Standard | Provides step-by-step directions between two points |
| Place Details | Standard | Retrieves detailed information about a place using Place ID |
| Map Image | Standard | Returns the specified location as a static map image |
Address → Coordinates
Converts a text address into latitude and longitude coordinate values. This operation is also known as geocoding.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Address | Yes | Address text to convert into coordinates, such as Taksim Square, Istanbul |
| Language | No | Language code for the returned results, such as tr or en |
Example Output
{
"lat": 41.0369,
"lng": 28.9850,
"formatted_address": "Taksim Square, Beyoğlu/Istanbul, Türkiye"
}
Distance & Duration
Calculates the distance and estimated travel time from one or more origins to one or more destinations. This is based on the Distance Matrix operation.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Origins | Yes | Origin point or points, as an address or in latitude,longitude format |
| Destinations | Yes | Destination point or points, as an address or in latitude,longitude format |
| Travel Mode | No | Transportation mode: driving, walking, bicycling, or transit |
| Language | No | Language code for the returned results |
Origins / Destinations Format
Single point:
Kadıköy, Istanbul
Multiple points:
Kadıköy, Istanbul|Beşiktaş, Istanbul
Nearby Places
Lists places within a specified radius around the given coordinate point. Results can be filtered by category, such as restaurant, pharmacy, or ATM.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Latitude | Yes | Latitude value of the center point, such as 41.0082 |
| Longitude | Yes | Longitude value of the center point, such as 28.9784 |
| Radius (meters) | Yes | Search radius in meters, maximum 50000 |
| Place Type | No | Place category, such as restaurant, pharmacy, atm, or hospital |
| Keyword | No | Keyword that filters results, such as coffee or pizza |
| Language | No | Language code for the returned results |
Place Type Examples
restaurant, cafe, hospital, pharmacy, bank, atm, gas_station, hotel, supermarket, school, park
Search Place
Searches for places and addresses in Google Maps using a text-based search query. It is used in place search scenarios based on user input.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Search Query | Yes | Search text, such as Istanbul Airport or Antalya hotels |
| Language | No | Language code for the returned results |
Example Output
{
"results": [
{
"place_id": "ChIJLU7jZClu0xQRIOd2kzuSCZU",
"name": "Istanbul Airport",
"formatted_address": "Tayakadın, 34283 Arnavutköy/Istanbul",
"geometry": {
"location": {
"lat": 41.2608,
"lng": 28.7418
}
},
"rating": 4.3
}
]
}
Maps AI Assistant
Queries Google Maps data using natural language. It performs complex search and filtering operations through a simple question format.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Query | Yes | Natural language query |
| System Prompt | No | System instruction that customizes the AI assistant’s behavior |
Usage Example
Query: "Find the 3 pharmacies closest to Kadıköy"
System Prompt: "List only places that are open 24 hours and provide their addresses in Turkish."
Coordinates → Address
Converts latitude/longitude coordinates into a readable text address. This is the reverse geocoding operation.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Latitude | Yes | Latitude value, such as 41.0082 |
| Longitude | Yes | Longitude value, such as 28.9784 |
| Language | No | Language code for the returned results |
Example Output
{
"formatted_address": "Sultanahmet, Fatih/Istanbul 34122, Türkiye",
"address_components": [
{
"long_name": "Sultanahmet",
"types": ["neighborhood"]
},
{
"long_name": "Fatih",
"types": ["sublocality"]
},
{
"long_name": "Istanbul",
"types": ["locality"]
}
]
}
Directions
Generates step-by-step directions between two points. Waypoints can be added, and different travel modes are supported.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Origin | Yes | Starting point, as an address or latitude,longitude |
| Destination | Yes | Destination point, as an address or latitude,longitude |
| Waypoints | No | Intermediate stops on the route, separated by pipe | |
| Travel Mode | No | Transportation mode: driving, walking, bicycling, or transit |
| Language | No | Language code for the returned instructions |
Using Waypoints
Üsküdar, Istanbul|Bostancı, Istanbul
Each waypoint creates an intermediate stop, and the route passes through all points in order.
Place Details
Retrieves detailed information about a place using its Place ID, including phone number, opening hours, website, photos, reviews, and more.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Place ID | Yes | Google Maps Place ID of the place, such as ChIJLU7jZClu0xQRIOd2kzuSCZU |
| Fields | No | Fields to retrieve, separated by commas, such as name,rating,opening_hours,formatted_phone_number |
| Language | No | Language code for the returned results |
How to Find the Place ID
The place_id field from the output of the Search Place operation can be used directly. In the Google Maps web interface, you can also right-click a place to copy its Place ID.
Field Examples
name, rating, formatted_address, formatted_phone_number, website, opening_hours, photos, reviews, price_level, geometry
Map Image
Creates a static map image, usually PNG, centered on the specified location. It is used to add maps to workflow outputs or reports.
Parameters
| Parameter | Required | Description |
|---|---|---|
| Connection | Yes | The Google Maps API connection to use |
| Center | Yes | Center point of the map, as an address or latitude,longitude |
| Zoom (1-20) | No | Zoom level. 1 = world, 10 = city, 15 = street, 20 = building. Default: 13 |
| Width (px) | No | Image width in pixels. Default: 600 |
| Height (px) | No | Image height in pixels. Default: 400 |
| Map Type | No | Map type: roadmap, satellite, terrain, or hybrid |
| Markers | No | Markers to add to the map, as addresses or latitude,longitude |
Zoom Guide
| Value | View |
|---|---|
| 1-3 | Continent / World |
| 4-6 | Country |
| 7-10 | City |
| 11-13 | District |
| 14-16 | Street |
| 17-20 | Building / Detail |
Quick Start Examples
Example 1: Delivery Address Verification
A workflow that converts the address entered by the user into coordinates and displays it on a map:
Text Input → Address → Coordinates → Map Image → Text Output
Address → Coordinates settings:
- Address:
{{input.text}} - Language:
tr
Map Image settings:
- Center:
{{geocode.lat}},{{geocode.lng}} - Zoom:
15 - Map Type:
roadmap - Markers:
{{geocode.lat}},{{geocode.lng}}
Example 2: Nearby Pharmacy Finder
A chatbot that lists nearby pharmacies based on the user’s location:
Text Input (location) → Address → Coordinates → Nearby Places → LLM (list) → Text Output
Nearby Places settings:
- Latitude:
{{geocode.lat}} - Longitude:
{{geocode.lng}} - Radius (meters):
1000 - Place Type:
pharmacy - Language:
tr
Example 3: Field Team Directions
A workflow that calculates a field team’s route to a customer address:
HTTP Call (get address from CRM) → Directions → LLM (summarize) → Slack Message
Directions settings:
- Origin:
{{crm.depot_address}} - Destination:
{{crm.customer_address}} - Travel Mode:
driving - Language:
tr
Example 4: Natural Language Map Assistant
A map chatbot that answers user questions in natural language:
Text Input → Maps AI Assistant → Text Output
Maps AI Assistant settings:
- Query:
{{input.text}} - System Prompt:
"Respond in Turkish. Always include address and distance information."
Common Errors
| Error | Possible Cause | Solution |
|---|---|---|
REQUEST_DENIED | API key is invalid or missing permissions | Check the API key and verify that the required APIs are enabled in Cloud Console |
ZERO_RESULTS | Address or place was not found | Make the search query or address more specific |
OVER_QUERY_LIMIT | API quota exceeded | Increase quota limits in Google Cloud Console or reduce request frequency |
INVALID_REQUEST | Required parameter is missing | Check that Origin/Destination or Latitude/Longitude fields are filled |
NOT_FOUND | Place ID was not found | Verify that the Place ID is current and valid using Search Place |
MAX_WAYPOINTS_EXCEEDED | Too many waypoints | Reduce the number of waypoints to 8 or fewer |
Notes
- ISO 639-1 language codes are used for the Language field:
trfor Turkish,enfor English, anddefor German. - Radius in Nearby Places can be a maximum of 50,000 meters; larger values are automatically clipped.
- The Map Image operation may return PNG binary directly instead of an image URL. It can be saved in the workflow using a File Output node.
- Google Maps API uses a per-request pricing model. For high-volume workflows, consider caching results to optimize cost.
- Place ID may change over time. Instead of long-term storage, it is recommended to get the current ID each time using Search Place.