---
title: Creating a Geocoder Service Using DreamFactory and the Google Maps Geocoding API
description: Build and launch a geocoder API in minutes using the DreamFactory platform
image: https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/geocoder-create-gcloud-project.png
---

[![DreamFactory logo](https://cdn.prod.website-files.com/64ed8da8a866be7a702fbae0/68d51994d3678214b54acb60_dreamfactory-navbar-logo.svg)](https://www.dreamfactory.com/)

 Products & Services

[AI Data Gateway](https://www.dreamfactory.com/ai-data-gateway/overview)

[Overview Why DreamFactory exists](https://www.dreamfactory.com/ai-data-gateway/overview) [Data Gov, Comp, Security Policy enforcement at the API layer](https://www.dreamfactory.com/ai-data-gateway/ai-data-governance) [Standard API Layer One contract for every backend](https://www.dreamfactory.com/ai-data-gateway/standard-api-layer) [API Gateway Functionality Routing, auth, rate limits, observability](https://www.dreamfactory.com/ai-data-gateway/api-gateway-functionality) [Deployment & Integration Self-hosted, cloud, hybrid](https://www.dreamfactory.com/ai-data-gateway/on-premise-deployment-and-integration) [Developer Productivity Auto-generated, never hand-coded](https://www.dreamfactory.com/ai-data-gateway/ai-development-accelerated) [AI App Architectures Patterns for RAG, agents, MCP](https://www.dreamfactory.com/ai-data-gateway/enterprise-ai-architectures)

AI Data Models

[AIOpenAI](https://www.dreamfactory.com/use-cases/openai) [GGoogle Gemini](https://www.dreamfactory.com/use-cases/google-gemini) [CAnthropic Claude](https://www.dreamfactory.com/use-cases/anthropic-claude-landing) [LMeta Llama](https://www.dreamfactory.com/use-cases/meta-llama) [MMistral AI](https://www.dreamfactory.com/use-cases/mistral) [CoCohere](https://www.dreamfactory.com/use-cases/cohere)

Services and support

[Quickstart Service Packages Expert-led Quickstarts to production](https://www.dreamfactory.com/services-and-support/quickstart-services-packages)

API Management

[Generate & Manage REST APIs From any database, in seconds](https://www.dreamfactory.com/api-management/generate-rest-apis) [Features Security, scripting, self-hosted & more](https://www.dreamfactory.com/api-management/features) [API Generation The complete guide to auto-generated APIs](https://blog.dreamfactory.com/a-complete-guide-to-api-generation) [API Management Concepts, tools, and best practises](https://blog.dreamfactory.com/what-is-api-management-a-brief-overview-of-api-management-concepts-and-tools?_gl=1*jl0njh*_gcl_au*MjQzMjgwMTc3LjE3ODIzMjI3MzY)

 Use Cases

AI Use Cases

[AI Data Access Secure, governed reads for your LLMs](https://www.dreamfactory.com/use-cases/ai-data-access) [MCP Server Drop-in Model Context Protocol](https://www.dreamfactory.com/use-cases/mcp-server) [Legacy Modernization Wrap mainframes with REST](https://www.dreamfactory.com/use-cases/legacy-modernization) [Data Governance Audit every call, enforce every policy](https://www.dreamfactory.com/use-cases/data-governance)

[Customer Case Studies](https://www.dreamfactory.com/case-studies)

[Energy Modernization](https://www.dreamfactory.com/case-studies/energy-snowflake-modernization) [Government Modernization](https://www.dreamfactory.com/case-studies/government-mainframe-oracle-modernization) [Government Business Intelligence](https://www.dreamfactory.com/case-studies/government-sql-server-bi-analyst-queries) [Manufacturing Modernization](https://www.dreamfactory.com/case-studies/steel-manufacturing-sap-erp-modernization) [Financial Services Investor Portal](https://www.dreamfactory.com/case-studies/financial-services-sql-server-investor-portal) [Non-Profit Partner Data Sharing](https://www.dreamfactory.com/case-studies/non-profit-sql-server-partner-data-sharing) [Professional Services Exec Dashboards](https://www.dreamfactory.com/case-studies/professional-services-erp-dashboards) [Education HR and External Data Sharing](https://www.dreamfactory.com/case-studies/education-student-hr-sql-server-mysql-external-data-sharing)

 Industries

Industries

#### [Healthcare HIPAA-grade APIs across EHR, claims, and labs.](https://www.dreamfactory.com/use-cases/healthcare)

#### [Financial Services Portfolios, partners, and portals on one layer.](https://www.dreamfactory.com/use-cases/financial-services)

#### [Government Modernize mainframes without re-platforming.](https://www.dreamfactory.com/use-cases/government)

#### [Manufacturing SAP, MES, and shop-floor data, governed.](https://www.dreamfactory.com/use-cases/manufacturing)

#### [Spotlight How enterprises run on DreamFactory From healthcare to energy to finance — governance baked into every endpoint. Browse case studies →](https://www.dreamfactory.com/case-studies)

 Connectors

SQL Database

[SQL SQL Server](https://www.dreamfactory.com/connectors/sql-server) [OR Oracle](https://www.dreamfactory.com/connectors/oracle) [PG PostgreSQL](https://www.dreamfactory.com/connectors/postgresql) [My MySQL](https://www.dreamfactory.com/connectors/mysql)

NoSQL & Docs

[Dy DynamoDB](https://www.dreamfactory.com/connectors/dynamodb) [Do DocumentDB](https://www.dreamfactory.com/connectors/azure-documentdb) [Mo MongoDB](https://www.dreamfactory.com/connectors/mongodb) [Cb CouchDB](https://www.dreamfactory.com/connectors/couch-db)

Cloud Warehouses

[S3 S3](https://www.dreamfactory.com/connectors/amazon-s3) [Ab Azureblob](https://www.dreamfactory.com/connectors/azure-blob) [FS FTP/SFTP](https://www.dreamfactory.com/connectors/ftp-sftp) [LS Local Storage](https://www.dreamfactory.com/connectors/local-storage)

C & SaaS

[Sf Salesforce](https://www.dreamfactory.com/connectors/salesforce) [API REST / SOAP](https://www.dreamfactory.com/connectors/soap-to-rest)

[See all 30+ connectors](https://www.dreamfactory.com/connectors)

[Blog](https://blog.dreamfactory.com/)

[FREE 30 Minute Demo](https://www.dreamfactory.com/demo)

[![DreamFactory logo](https://cdn.prod.website-files.com/64ed8da8a866be7a702fbae0/68d51994d3678214b54acb60_dreamfactory-navbar-logo.svg)](https://www.dreamfactory.com/)

![hamburger](https://blog.dreamfactory.com/hubfs/raw_assets/public/dreamfactory/images/megamenu/menu-hamburger.svg) ![close](https://blog.dreamfactory.com/hubfs/raw_assets/public/dreamfactory/images/megamenu/close-menu.svg)

 Back to main menu

 Products & Services

 Use Cases

 Industries

 Connectors

[Blog](https://blog.dreamfactory.com/)

[FREE 30 Minute Demo](https://www.dreamfactory.com/demo)

[AI Data Gateway](https://www.dreamfactory.com/ai-data-gateway/overview)

[Overview Why DreamFactory exists](https://www.dreamfactory.com/ai-data-gateway/overview) [Data Gov, Comp, Security Policy enforcement at the API layer](https://www.dreamfactory.com/ai-data-gateway/ai-data-governance) [Standard API Layer One contract for every backend](https://www.dreamfactory.com/ai-data-gateway/standard-api-layer) [API Gateway Functionality Routing, auth, rate limits, observability](https://www.dreamfactory.com/ai-data-gateway/api-gateway-functionality) [Deployment & Integration Self-hosted, cloud, hybrid](https://www.dreamfactory.com/ai-data-gateway/on-premise-deployment-and-integration) [Developer Productivity Auto-generated, never hand-coded](https://www.dreamfactory.com/ai-data-gateway/ai-development-accelerated) [AI App Architectures Patterns for RAG, agents, MCP](https://www.dreamfactory.com/ai-data-gateway/enterprise-ai-architectures)

AI Data Models

[AIOpenAI](https://www.dreamfactory.com/use-cases/openai) [GGoogle Gemini](https://www.dreamfactory.com/use-cases/google-gemini) [CAnthropic Claude](https://www.dreamfactory.com/use-cases/anthropic-claude-landing) [LMeta Llama](https://www.dreamfactory.com/use-cases/meta-llama) [MMistral AI](https://www.dreamfactory.com/use-cases/mistral) [CoCohere](https://www.dreamfactory.com/use-cases/cohere)

Services and support

[Quickstart Service Packages Expert-led Quickstarts to production](https://www.dreamfactory.com/services-and-support/quickstart-services-packages)

AI Data Models

[Generate & Manage REST APIs From any database, in seconds](https://www.dreamfactory.com/api-management/generate-rest-apis) [Features Security, scripting, self-hosted & more](https://www.dreamfactory.com/api-management/features) [API Generation The complete guide to auto-generated APIs](https://blog.dreamfactory.com/a-complete-guide-to-api-generation) [API Management Concepts, tools, and best practises](https://blog.dreamfactory.com/what-is-api-management-a-brief-overview-of-api-management-concepts-and-tools?_gl=1*jl0njh*_gcl_au*MjQzMjgwMTc3LjE3ODIzMjI3MzY)

AI Use Cases

[AI Data Access Secure, governed reads for your LLMs](https://www.dreamfactory.com/use-cases/ai-data-access) [MCP Server Drop-in Model Context Protocol](https://www.dreamfactory.com/use-cases/mcp-server) [Legacy Modernization Wrap mainframes with REST](https://www.dreamfactory.com/use-cases/legacy-modernization) [Data Governance Audit every call, enforce every policy](https://www.dreamfactory.com/use-cases/data-governance)

[Customer Case Studies](https://www.dreamfactory.com/case-studies)

[Energy Modernization](https://www.dreamfactory.com/case-studies/energy-snowflake-modernization) [Government Modernization](https://www.dreamfactory.com/case-studies/government-mainframe-oracle-modernization) [Government Business Intelligence](https://www.dreamfactory.com/case-studies/government-sql-server-bi-analyst-queries) [Manufacturing Modernization](https://www.dreamfactory.com/case-studies/steel-manufacturing-sap-erp-modernization) [Financial Services Investor Portal](https://www.dreamfactory.com/case-studies/financial-services-sql-server-investor-portal) [Non-Profit Partner Data Sharing](https://www.dreamfactory.com/case-studies/non-profit-sql-server-partner-data-sharing) [Professional Services Exec Dashboards](https://www.dreamfactory.com/case-studies/professional-services-erp-dashboards) [Education HR and External Data Sharing](https://www.dreamfactory.com/case-studies/education-student-hr-sql-server-mysql-external-data-sharing)

Industries

#### [Healthcare HIPAA-grade APIs across EHR, claims, and labs.](https://www.dreamfactory.com/use-cases/healthcare)

#### [Financial Services Portfolios, partners, and portals on one layer.](https://www.dreamfactory.com/use-cases/financial-services)

#### [Government Modernize mainframes without re-platforming.](https://www.dreamfactory.com/use-cases/government)

#### [Manufacturing SAP, MES, and shop-floor data, governed.](https://www.dreamfactory.com/use-cases/manufacturing)

SQL Database

[SQL SQL Server](https://www.dreamfactory.com/connectors/sql-server) [OR Oracle](https://www.dreamfactory.com/connectors/oracle) [PG PostgreSQL](https://www.dreamfactory.com/connectors/postgresql) [My MySQL](https://www.dreamfactory.com/connectors/mysql)

NoSQL & Docs

[Dy DynamoDB](https://www.dreamfactory.com/connectors/dynamodb) [Do DocumentDB](https://www.dreamfactory.com/connectors/azure-documentdb) [Mo MongoDB](https://www.dreamfactory.com/connectors/mongodb) [Cb CouchDB](https://www.dreamfactory.com/connectors/couch-db)

Cloud Warehouses

[S3 S3](https://www.dreamfactory.com/connectors/amazon-s3) [Ab Azureblob](https://www.dreamfactory.com/connectors/azure-blob) [FS FTP/SFTP](https://www.dreamfactory.com/connectors/ftp-sftp) [LS Local Storage](https://www.dreamfactory.com/connectors/local-storage)

C & SaaS

[Sf Salesforce](https://www.dreamfactory.com/connectors/salesforce) [API REST / SOAP](https://www.dreamfactory.com/connectors/soap-to-rest)

[See all 30+ connectors](https://www.dreamfactory.com/connectors)

[![back arrow](https://blog.dreamfactory.com/hubfs/raw_assets/public/dreamfactory/images/orange-arrow.svg) Blog](https://blog.dreamfactory.com/)

# Creating a Geocoder Service Using DreamFactory and the Google Maps Geocoding API

 by Jason Gilmore

![calendar icon](https://blog.dreamfactory.com/hubfs/raw_assets/public/dreamfactory/images/calendar-icon.svg) December 13, 2018

Table of contents

RECOMMENDED ARTICLES

- [A Complete Guide to API Generation](https://blog.dreamfactory.com/a-complete-guide-to-api-generation)
- [10 Best API Management Tools](https://blog.dreamfactory.com/what-is-api-management-a-brief-overview-of-api-management-concepts-and-tools)
- [Creating a Microsoft SQL Server API in Less Than 5 minutes with DreamFactory](https://blog.dreamfactory.com/creating-a-microsoft-sql-server-api-in-less-than-5-minutes-with-dreamfactory)
- [Hasura vs. DreamFactory: A Comprehensive Comparison](https://blog.dreamfactory.com/hasura-vs-dreamfactory)
- [Build A Snowflake REST API in Less Than 5 Minutes](https://blog.dreamfactory.com/generate-a-snowflake-rest-api-in-less-than-5-minutes)

There is no question DreamFactory's native connectors have saved IT teams countless hours of development time. Yet these are almost incidental when one takes into consideration the platform's ability to integrate with thousands of third-party REST and SOAP services, not to mention create entirely new APIs through the scripted service interface. Further, thanks to DreamFactory's ability to leverage third-party libraries, new APIs can often be created in just a few dozen lines of code.

In this tutorial you'll learn how to create a DreamFactory-managed geocoding service using Spatie's popular open source [geocoder](https://github.com/spatie/geocoder) package. Using this service, you'll be able to easily convert addresses into latitudinal and longitudinal coordinates, as well as perform reverse geocoding (convert coordinates into an address). Once complete, you'll be able to use a JavaScript library such as Axios or a PHP library like Guzzle to add geocoding to your application with no additional coding required!

## Enabling the Google Geocoding API

**UPDATE**: We've published a followup post to this topic titled "[Creating a Geofence API Using the Haversine Formula, PHP, and DreamFactory’s Scripted API Services](https://blog.dreamfactory.com/creating-a-geofence-api-using-the-haversine-formula-php-and-dreamfactorys-scripted-api-services/)"!

Spatie's geocoder library depends upon the Google Geocoding API, meaning you'll need to create a Google Cloud Platform account to gain access to this capability. Registration is required because you'll need to generate an API key within the cloud console in order to use the API. The daily geocoding quota is very reasonable, allowing you perform several thousand geocoding requests per day. If your requirements are more involved then higher daily allowances can easily be purchased through an upgrade process.

Once registered, login to the Google Cloud console and create a new project:

![Creating a new Google Cloud project](https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/geocoder-create-gcloud-project.png)

Next, enter the Marketplace and search for "geocoding". You'll be presented with the following two results:

![Enabling the Geocoder API](https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/marketplace-choose-geocoding.png)

Choose the "Geocoding API" and then press the `Enable` button. Once enabled, you'll be presented with a dashboard, and at the top you'll find a menu item named `Credentials`:

![Generating API Credentials](https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/credentials.png)

Click on this link and you'll next be able to click a button titled `Create Credentials`. In the context menu that appears, select `API Key`. A window with your new API key will appear. Copy the API key to a text file as you'll need to paste it into a configuration file in a later step. Before you close this window, note you have the option to restrict key access. We suggest exploring this feature to ensure your key isn't maliciously or errantly used in unexpected ways.

## Installing the Spatie Geocoder Package

Next we'll install the Spatie Geocoder package. This package is a Laravel package, which makes integration into the DreamFactory platform particularly easy because DreamFactory is built atop Laravel and like many popular PHP applications uses the Composer package manager. Therefore to install the package all you need to do is open a terminal, navigate to your DreamFactory instance's root application directory, and run this command:

```
$ composer require spatie/geocoder
```

Once installed, you'll need to run this command to publish the package's configuration file:

```
$ php artisan vendor:publish --provider="Spatie\Geocoder\GeocoderServiceProvider" \
> --tag="config"
```

Open `config/geocoder.php` and you'll see an array attribute named `key`:

```
<?php
return [
        'key' => env('GOOGLE_MAPS_GEOCODING_API_KEY', ''),
    ...
];
```

This references an environment variable named `GOOGLE_MAPS_GEOCODING_API_KEY`. You can add this key to your `.env` file and the configuration file will automatically assign it to the `key` attribute. To do so, just open your `.env` file found in DreamFactory's root directory and add it like so:

```
GOOGLE_MAPS_GEOCODING_API_KEY=YOUR_KEY_GOES_HERE
```

Save these changes and close the file. Next we'll create the custom scripted service.

## Creating the Geocoding Service

With the Spatie geocoder package added to your DreamFactory platform's Composer file, the package is immediately accessible to your DreamFactory environment. We'll use it within a scripted service. To do so, navigate to your `Services` tab, click the `Create` button, and in the `Select Service Type` select box choose `Script` and then `PHP`:

![Creating a PHP Scripted Service](https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/select-service-script-php.png)

As is typical of any API created through DreamFactory you'll be prompted to provide a name, label, and description. The label and description are just used for referential purposes within the administration interface, however the name is important because it will be used within the API URI. Exactly how will become apparent in just a moment, so for now just provide a name such as `geocoder`.

Next, click the `Config` table and you'll be presented with a textarea. It's within this textarea where you'll provide the script used to power the API (you can also link scripts to file systems and code repositories however this is out of the scope of this blog). Paste the following code into the textarea:

```
$client = new \GuzzleHttp\Client();
if ($event['request']['method'] == "GET") {
 $response = Geocoder::getAddressForCoordinates( (float) $event['request']['parameters']['lat'], (float) $event['request']['parameters']['lng'] );
}
```

We're using two third-party libraries in this script: GuzzleHttp and the Spatie Geocoder package. The script listens for `GET` requests, and then will look for two parameters (`lat` and `lng`), passing them into the `getAddressForCoordinates` static method. The response is then returned the client. Of course in the real world you'll want to incorporate error handline; we're just trying to get straight to the point with this example.

## Defining a Role and Application Key

For security reasons DreamFactory API's are never publicly accessible, so you'll need to create an application key in order to access the API. API keys are always associated with roles, which determine exactly what the API key can do in conjunction with the API, so let's begin by clicking the `Roles` tab to create a new role. Then press the `Create` button. Specify a role name and description such as `Geocoder Role` and `Role used to manage the geocoder API`, respectively. Next, click the `Access` tab. You'll be presented with the following interface:

![Creating a role](https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/geocoder-role-config.png)

Press the plus sign located to the right of the interface to associate a service with this role. In the `Service` dropdown you'll select the `geocoder` service. Leave the `Component` field set to `*`. In the method field select `GET` because this is the only HTTP method that can be used in conjunction with this service. Finally, set the `Requester` field to `API` because we'll access the geocoder service via the exposed API. Click the `Save` button to save the role.

### Generating an Application Key

Next, click the `Apps` tab located at the top of the screen. This interface is used to manage your API keys. Click the `Create` button to create a new API. You'll be presented with the following interface:

![Creating an API key](https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/geocoder-create-app.png)

Assign the application a name such as `Geocoder Application`, select the `No Storage Required` radio button because you'll be accessing this API from one or more third-party applications presumably not hosted on the DreamFactory server, and finally select the `Geocoder Role` from the `Assign a Default Role` select box. Click the `Save` button to generate the API key. Once clicked, you'll be returned to the `Apps` main interface, and at the bottom of the table you'll find your newly generated API key. Copy this key to your clipboard or a text file, as we'll use it in the next section to interact with the geocoder API.

## Accessing the API

With the geocoder service created and configured, it's time to test it out! Open an HTTP client such as [Insomnia](https://insomnia.rest/) or [Postman](https://www.getpostman.com/apps) and enter the your geocoder service URL, passing along the coordinates like so:

```
https://YOUR_DF_URL/api/v2/geocoder?lat=38.895267&lng=-77.037236
```

In response you'll receive output similar to the following!

```
    {
        "lat": 38.8953658,
        "lng": -77.03741939999999,
        "accuracy": "RANGE_INTERPOLATED",
        "formatted_address": "1601 E St NW, Washington, DC 20502, USA",
        "viewport": {
            "northeast": {
                "lat": 38.8967147802915,
                "lng": -77.0360704197085
            },
            "southwest": {
                "lat": 38.8940168197085,
                "lng": -77.0387683802915
            }
        }
    }
```

## Conclusion

This simple but practical example really illustrates the power of building scripted APIs using the DreamFactory platform. If you have any questions regarding what else is possible, be sure to e-mail us at info AT dreamfactory.com!

TAGS: [web services,](https://blog.dreamfactory.com/tag/web-services) [Integrations,](https://blog.dreamfactory.com/tag/integrations) [Scripting](https://blog.dreamfactory.com/tag/scripting)

![Jason Gilmore](https://blog.dreamfactory.com/hs-fs/hubfs/e92b7c5571ae1bf1ac6e6326767f35c0.jpeg?width=100&height=100&name=e92b7c5571ae1bf1ac6e6326767f35c0.jpeg)

Jason Gilmore

Jason is the author of almost a dozen books on web development, including most recently Easy Laravel 5, and Beginning PHP and MySQL, 4th Edition. He's the co-founder of the CodeMash Conference, one of the largest software conferences in the Midwestern United States. Jason serves as a technical advisor to the boards of several technology startups. His free time is spent playing with his kids and reading.

 Stay Connected with   
 The Connector Newsletter!

 Subscribe to stay up-to-date with DreamFactory's latest product updates, API best practices, and tech humor in your inbox.

[![Dreamfactory Logo](https://blog.dreamfactory.com/hubfs/raw_assets/public/dreamfactory/images/megamenu/Megamenu-logo.svg)](https://www.dreamfactory.com/)

[Call Sales +1 (415) 993-5877](tel:+14159935877)

Open – Mon–Fri 9–5 PT

[FREE 30 Minute Demo](https://www.dreamfactory.com/demo)

#### Follow us

- [GitHub](https://github.com/dreamfactorysoftware/dreamfactory)
- [Facebook](https://www.facebook.com/dfsoftwareinc/)
- [X (Twitter)](https://twitter.com/dfsoftwareinc)
- [LinkedIn](https://www.linkedin.com/company/dreamfactory-software)
- [YouTube](https://www.youtube.com/c/dreamfactorysoftware)

### Features

[Features](https://www.dreamfactory.com/features) [Self hosted](https://www.dreamfactory.com/features#self) [API Generation](https://www.dreamfactory.com/features#api) [Security](https://www.dreamfactory.com/features#secure) [Customization](https://www.dreamfactory.com/features#custom) [Pricing](https://www.dreamfactory.com/pricing)

### Installers

[Linux](https://www.dreamfactory.com/features#installer) [Docker](https://www.dreamfactory.com/features#installer) [Kubernetes](https://www.dreamfactory.com/features#installer)

### API Resources

[Documentation](https://docs.dreamfactory.com/) [Case Studies](https://www.dreamfactory.com/stories) [White Papers](https://www.dreamfactory.com/resources/whitepapers) [Academy](https://www.dreamfactory.com/academy) [API Calculator](https://calculator.dreamfactory.com) [Open Source](https://github.com/dreamfactorysoftware)

### Company

[Blog](https://blog.dreamfactory.com/) [Hub](https://www.dreamfactory.com/hub) [About us](https://www.dreamfactory.com/about) [Partners](https://www.dreamfactory.com/partners) [Support](https://www.dreamfactory.com/support) [Connectors](https://www.dreamfactory.com/connectors) [Contact Us](https://www.dreamfactory.com/demo)

 © 2025 DreamFactory. All rights reserved.

[Terms of Use](https://www.dreamfactory.com/terms-of-use) [Privacy Policy](https://www.dreamfactory.com/privacy-policy) [LLMs](https://www.dreamfactory.com/llms.txt)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Jason Gilmore",
    "url" : "https://blog.dreamfactory.com/author/jason-gilmore"
  },
  "dateModified" : "2024-05-07T08:20:57.932Z",
  "datePublished" : "2018-12-14T02:33:21.000Z",
  "headline" : "Creating a Geocoder Service Using DreamFactory and the Google Maps Geocoding API",
  "image" : [ "https://blog.dreamfactory.com/hubfs/Imported_Blog_Media/geocoder-create-gcloud-project.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.dreamfactory.com/creating-a-geocoder-service-using-dreamfactory-and-the-google-maps-geocoding-api",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.dreamfactory.com/hubfs/DreamFactory%20-%20Orange%20-%20Transparent-1.png"
    }
  }
}
```