Skip to main content

Coordinates to Address

Converts geographic coordinates (latitude and longitude) to a human-readable address using Google Maps API.

Common Properties​

  • Name - The custom name of the node.
  • Color - The custom color of the node.
  • Delay Before (sec) - Waits in seconds before executing the node.
  • Delay After (sec) - Waits in seconds after executing node.
  • Continue On Error - Automation will continue regardless of any error. The default value is false.
info

If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.

Inputs​

  • Latitude - The latitude coordinate as a decimal number.
  • Longitude - The longitude coordinate as a decimal number.

Options​

  • Credentials - Google Maps API key credential used to authenticate with the service.

Output​

  • Result - The reverse geocoding result containing the address information corresponding to the coordinates.

How It Works​

The Coordinates to Address node converts geographic coordinates into a human-readable address using Google Maps Reverse Geocoding API. When executed, the node:

  1. Validates the provided latitude and longitude inputs
  2. Retrieves the Google Maps API key from credentials
  3. Creates a Reverse Geocoding request with the provided coordinates
  4. Sends the request to Google Maps Reverse Geocoding API
  5. Returns the reverse geocoding result which includes:
    • Formatted address
    • Address components (street, city, state, etc.)
    • Place ID
    • Address types and categories

Requirements​

  • A valid Google Maps API key with Geocoding API enabled
  • Valid latitude and longitude coordinates

Error Handling​

The node will return specific errors in the following cases:

  • Invalid or missing latitude input
  • Invalid or missing longitude input
  • Invalid or missing Google Maps API credentials
  • Google Maps API service errors
  • Network connectivity issues

Practical Examples​

Example 1: Reverse Geocode GPS Coordinates​

Convert GPS coordinates to a street address:

Input:

  • Latitude: 37.4224764
  • Longitude: -122.0842499
  • Credentials: Your Google Maps API key

Output (Result object contains):

{
"formatted_address": "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA",
"address_components": [
{ "long_name": "1600", "short_name": "1600", "types": ["street_number"] },
{ "long_name": "Amphitheatre Parkway", "short_name": "Amphitheatre Pkwy", "types": ["route"] },
{ "long_name": "Mountain View", "short_name": "Mountain View", "types": ["locality"] },
{ "long_name": "California", "short_name": "CA", "types": ["administrative_area_level_1"] }
],
"place_id": "ChIJ2eUgeAK6j4ARbn5u_wAGqWA"
}

Access address:

  • Full Address: {{result.formatted_address}}

Example 2: Extract Location Information from Mobile App​

Process GPS data from a mobile device or IoT sensor:

Workflow:

  1. HTTP Request - Receive GPS data from mobile app
    • Payload contains: {{gpsData.lat}}, {{gpsData.lng}}
  2. Coordinates to Address - Convert to readable address
    • Latitude: {{gpsData.lat}}
    • Longitude: {{gpsData.lng}}
  3. Set Variable - Store location details
    • {{userLocation}} = {{result.formatted_address}}
  4. Send Email - Notify with location
    • Subject: "User Location Update"
    • Body: "User is at: {{userLocation}}"

Example 3: Find Nearest City or Landmark​

Determine what's at or near specific coordinates:

Input:

  • Latitude: 40.689247
  • Longitude: -74.044502

Output formatted_address:

  • "Statue of Liberty, Liberty Island, New York, NY 10004, USA"

Use Case: Identify landmarks, cities, or points of interest from coordinate data

Example 4: Batch Reverse Geocode Delivery Locations​

Convert GPS tracking data to addresses for delivery reports:

  1. Read Excel - Load GPS coordinates from tracking log
  2. Loop - Process each coordinate pair
  3. Coordinates to Address - Get address for each location
    • Latitude: {{item.lat}}
    • Longitude: {{item.lng}}
  4. Set Variable - Extract city and postal code
    • Find city: {{result.address_components}} where type is "locality"
    • Find zip: {{result.address_components}} where type is "postal_code"
  5. Write Excel - Save delivery report with addresses

Example 5: Get Address Components Separately​

Extract specific parts of the address:

Input:

  • Latitude: 51.5074
  • Longitude: -0.1278

Extract from Result:

// Find street number
{{result.address_components.find(c => c.types.includes('street_number')).long_name}}

// Find street name
{{result.address_components.find(c => c.types.includes('route')).long_name}}

// Find city
{{result.address_components.find(c => c.types.includes('locality')).long_name}}

// Find postal code
{{result.address_components.find(c => c.types.includes('postal_code')).long_name}}

// Find country
{{result.address_components.find(c => c.types.includes('country')).long_name}}

Tips for Effective Use​

Coordinate Format​

  • Use Decimal Degrees: Both latitude and longitude must be decimal numbers

    • Correct: Latitude: 37.4224764, Longitude: -122.0842499
    • Incorrect: "37° 25' 20.9" N" (DMS format not supported directly)
  • Valid Ranges:

    • Latitude: -90 to 90 (negative = South, positive = North)
    • Longitude: -180 to 180 (negative = West, positive = East)

Understanding Multiple Results​

Reverse geocoding may return multiple addresses for the same coordinates:

  • First Result: Usually the most specific (street address)
  • Additional Results: Broader locations (neighborhood, city, postal code, country)
  • Access All: {{result}} is an array, use {{result[0]}} for most specific

Example Results for Same Coordinates:

  1. "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA"
  2. "Mountain View, CA 94043, USA"
  3. "Santa Clara County, CA, USA"
  4. "California, USA"
  5. "United States"

Result Types​

Each result has a types array indicating what it represents:

  • street_address - Precise street address
  • route - Named route (street/highway)
  • locality - City or town
  • postal_code - ZIP/postal code area
  • country - Country
  • point_of_interest - Landmark or POI

Filter by type:

// Get only street addresses
{{result.filter(r => r.types.includes('street_address'))}}

Precision and Accuracy​

  • Coordinates with more decimal places are more precise
  • 6 decimal places = ~0.1 meter accuracy
  • Ocean/remote coordinates may return nearest known location
  • Coordinates in unpopulated areas may return general region names

Working with Different Coordinate Sources​

Common sources and how to use them:

GPS Devices: Usually provide decimal degrees directly

  • Use values as-is: 37.4224764, -122.0842499

Google Maps URLs: Extract coordinates from URL

  • URL: https://www.google.com/maps/@37.4224764,-122.0842499,17z
  • Parse to get: 37.4224764 and -122.0842499

Degrees/Minutes/Seconds (DMS): Convert to decimal first

  • DMS: 37°25'20.9"N 122°05'3.3"W
  • Decimal: 37.422472, -122.084250
  • Use a converter or formula: Decimal = Degrees + (Minutes/60) + (Seconds/3600)

Common Errors and Solutions​

Error: "ErrInvalidArg: Latitude/Longitude cannot be empty"​

Cause: Missing coordinate input.

Solution:

  • Verify both latitude and longitude variables have values
  • Check for null/undefined values in your data source
  • Use conditional logic to skip rows with missing coordinates

Error: "ErrCredentials: No Credential Content"​

Cause: Google Maps API key is not configured.

Solution:

  • Create a credential in Robomotion vault with your API key
  • Select the credential in the node's Credentials option
  • Verify the credential has the API key in the "value" field

Error: "ErrGoogleMaps: INVALID_REQUEST"​

Cause: Coordinates are out of valid range or malformed.

Solution:

  • Check latitude is between -90 and 90
  • Check longitude is between -180 and 180
  • Ensure coordinates are numbers, not strings
  • Verify no special characters or formatting issues

Error: "ErrGoogleMaps: ZERO_RESULTS"​

Cause: Google Maps has no address data for the coordinates (e.g., middle of ocean).

Solution:

  • Verify coordinates are correct
  • Check if location is in a remote or unmapped area
  • Consider using broader location data from additional results
  • Handle this gracefully in your workflow (it's expected for some locations)

Error: "ErrGoogleMaps: OVER_QUERY_LIMIT"​

Cause: Exceeded API quota or rate limits.

Solution:

  • Monitor usage in Google Cloud Console
  • Add delays between requests using "Delay After" property
  • Implement caching for frequently queried coordinates
  • Upgrade your Google Cloud billing plan if needed

Coordinates Appear Swapped​

Issue: Getting addresses from wrong continent or unexpected location.

Cause: Latitude and longitude are reversed.

Solution:

  • Remember: Latitude first (North/South), Longitude second (East/West)
  • Latitude range: -90 to 90
  • Longitude range: -180 to 180
  • If result seems wrong, try swapping the values

Usage Notes​

  • Latitude and longitude should be provided as decimal numbers
  • The API key must have Geocoding API permissions enabled
  • The result contains multiple address components that can be parsed as needed
  • Multiple results may be returned for a single coordinate pair (from most to least specific)
  • The node returns structured data that can be used with other map-related nodes
  • Coordinates should be in decimal degrees format (e.g., 41.0082, 28.9784)
  • Results are provided in WGS84 datum (standard for GPS)
  • Reverse geocoding accuracy depends on Google's map data coverage for the region
  • Some coordinates (oceans, remote areas) may only return general location names